1.从现实抽象出类的步骤
第一步:找出分类(分析出类)
第二步:找出类的特征(分析类的相关属性)
第三步:找出类的行为(分析类的方法)
2.常量(就是出现的变量值)
语法:public static final 数据类型 常量名=常量值;
eg:public static final String SEX_MALE="Q仔";
eg:public static final String SEX_FEMALE="Q妹";
注意:final是指最终的,修饰的变量不能更改
常量名:所有的字母都要大写,多个单词用_分隔
常量的访问:类名.常量名;
eg: Penguin.SEX_MALE;
3.构造方法(特殊方法,用来创建对象)
语法:public 类名(参数列表){
//方法体
}
使用:类名 对象=new 构造方法名(参数);
eg:Dog d=new Dog();
作用:a.创建对象
b.初始化值(属性值)
构造方法和普通方法的区别:
a.构造方法没有返回值类型(return...)
b.构造方法的方法名是类名,普通方法可以任意取
c.构造方法调用:new 构造方法名(参数)
普通方法的调用:对象名.方法名(参数)
注意:当没有写构造方法时,Java会提供默认的无参构造函数(构造方法)
eg:public Dog(){
}
4.方法重载:方法名一样,参数列表不一样
注意:重载与返回值类型和访问修饰符无关
5.static 和final
static:静态的
用static修饰的属性,直接可以类名.方法名访问
final:最终的
用final修饰的属性,它的值初始化后,不能再改变
注意:static不能再方法中修饰局部变量
6.封装
6.1封装:隐藏类内部实现细节
6.2步骤
第一步:将属性私有化(private)
第二步:提供getter/setter方法(getXxxx(),setXxxx())
第三步:在getter/setter中加入控制语句
6.3this关键词
this:表示当前对象
调用属性:this.属性名
调用方法:this方法名()
this():表示调用构造函数
注意:this():必需写在构造函数的第一行
1 package Day01一; 2 3 public class Dog { 4 int strain; //品种 5 int age; //年龄 6 String name; //昵称 7 int health; //健康值 8 int love; //亲密度 9 //语法:public 类名(参数列表){ } 10 //构造方法(默认构造方法) 11 public Dog(){ 12 13 } 14 public Dog(String name,int strain){ 15 //初始化值 16 this(); //当前的构造函数 17 this.name=name; 18 this.strain=strain; 19 } 20 public Dog(String name,int age,int love,int health){ 21 this.name=name; 22 this.age=age; 23 this.love=love; 24 this.health=health; 25 26 System.out.println("----构造方法----"); 27 } 28 //打印信息(this表示当前对象) 29 public void print(){ 30 System.out.println("名字:"+this.name+",年龄:"+this.age+",品种:" 31 +this.strain+",健康值:"+this.health+",亲密度:"+this.love); 32 } 33 34 35 36 public void setHealth(int health){ 37 if(health>0 && health<100){ 38 this.health=health; 39 return; 40 } 41 this.health=-1; 42 } 43 public int getHealth(){ 44 return health; 45 } 46 47 public void setName(String name){ 48 this.name=name; 49 } 50 public String getName(){ 51 return name; 52 } 53 54 public void setLove(int love){ 55 this.love=love; 56 } 57 public int getLove(){ 58 return love; 59 } 60 61 public void setAge(int age){ 62 this.age=age; 63 } 64 public int getAge(){ 65 return age; 66 } 67 68 public void setStrain(int strain){ 69 this.strain=strain; 70 } 71 public int getStrain(){ 72 return strain; 73 } 74 75 }