类的定义和使用一1.1定义类是用来对一个实体对象进行描述的主要描述该实体对象的属性和功能1.2 类的定义格式在Java中定义类时需要⽤到class关键字具体语法如下在Java中定义类时需要⽤到class关键字具体语法如下// 创建类classClassName{field;// 字段(属性) 或者 成员变量method;// ⾏为 或者 成员⽅法}class为定义类的关键字ClassName为类的名字采用大驼峰的命名方式field为类中的成员变量主要是用来描述类的方法主要用来说明类具有哪些功能classWashMachine{publicStringbrand;// 品牌publicStringtype;// 型号publicdoubleweight;// 重量publicdoublelength;// ⻓publicdoublewidth;// 宽publicdoubleheight;// ⾼publicStringcolor;// 颜⾊publicvoidwashClothes(){// 洗⾐服System.out.println(洗⾐功能);}publicvoiddryClothes(){// 脱⽔System.out.println(脱⽔功能);}publicvoidsetTime(){// 定时System.out.println(定时功能);}}注意事项⼀般⼀个⽂件当中只定义⼀个类public修饰的类必须要和⽂件名相同不要轻易去修改public修饰的类的名称如果要修改通过开发⼯具修改2.类的实例化2.1什么是实例化类就相当于自定义的类型而实例化就代表用该类型创造一个变量用类创造对象的过程就称为实例化。2.2怎么实例化采用new关键字来实现实例化具体代码如下publicclassMain{publicstaticvoidmain(String[]args){PetDogdoghnewPetDog();//通过new实例化对象PetDogdogsnewPetDog();}}2.3 如何访问对象中的成员在上述已经用类创建了一个对象那么该对象该如何进行访问呢具体代码如下publicclassMain{publicstaticvoidmain(String[]args){PetDogdoghnewPetDog();//通过new实例化对象dogh.name阿⻩;dogh.color⿊⾊;dogh.barks();dogh.wag();PetDogdogsnewPetDog();dogs.name赛⻁;dogs.color⻩⾊;dogs.barks();dogs.wag();12345678910111213比特就业课}}输出结果 阿⻩:旺旺旺~~~阿⻩:摇尾巴~~~赛⻁:旺旺旺~~~赛⻁:摇尾巴~~~3.对象的构造和初始化3.1默认初始化publicclassDate{publicintyear;publicintmonth;publicintday;publicstaticvoidmain(String[]args){// 此处a没有初始化编译时报错// Error:(24, 28) java: 可能尚未初始化变量a// int a;// System.out.println(a);DatednewDate();System.out.println(d.year);System.out.println(d.month);System.out.println(d.day);}}//输出000注在Java中局部变量必须初始化否则报错但是成员变量如果不初始化有默认值3.2 就地初始化在声明成员变量时就直接给出了初始值。publicclassDate{publicintyear1900;publicintmonth1;publicintday1;publicDate(){}publicDate(intyear,intmonth,intday){}publicstaticvoidmain(String[]args){Dated1newDate(2021,6,9);Dated2newDate();}}3.3 构造方法初始化常用的初始化方法3.3.1 什么是构造方法构造方法是特殊的成员方法它没有返回类型且方法名必须与类名相同在创建对象时由编译器⾃动调⽤并且在整个对象的⽣命周期内只调⽤⼀次。publicclassDate{1publicintyear;publicintmonth;publicintday;publicDate(intyear,intmonth,intday){this.yearyear;this.monthmonth;this.dayday;System.out.println(Date(int,int,int)⽅法被调⽤了);}publicvoidprintDate(){System.out.println(year-month-day);}publicstaticvoidmain(String[]args){// 此处创建了⼀个Date类型的对象并没有显式调⽤构造⽅法DatednewDate(1999,6,9);// 输出Date(int,int,int)⽅法被调⽤了d.printDate();// 1999-6-9}}3.3.2 构造方法的注意事项1.在没有写任何构造方法时默认有一个无参数的构造方法2.名字必须与类名一样3.没有返回值4.构造方法可以重载