三条主线
类的五大成员:属性,方法,构造器,代码块,内部类
面相对象四大特性:封装性,继承性,多态性,抽象性(接口)
java关键字:new,this, class,public.....
设计一个类及创建一个对象
设计类(声名类用class)
- 设计成员变量(也称为属性)
- 设计成员方法(也称为类的行为)
- 设计一个构造器(有一个默认的空参构造器)
创建对象(也称为实例化)
组成: 对象类名 对象名 = new 对象类名 ();
用对象名支调用方法
任何类都继承Object 类,Object类是所有类的根父类(用对像名.方法(),非自己定义的方法属于Object类的方法)
面向对象的落地法则:(综上)
-
设计类,并设计类的成员(成员变量,成员方法,构造方法)
-
通过类来创建类的对象(也称作类的实例化)
-
通过“对象.属性”或“对象.方法”来调用完成相应的功能。
创建多个对象时,自己拥有自己的一套类的属性。当对其中一个类的属性进行修改时,不会影响其他对象的属性值。
属性的默认值
int 默认值 0; float 默认值 0.0;
double 默认值 0.0; char 默认值 ;
boolean 默认值 false; String 默认值 null;
构造器(构造方法)
-
构造器的作用:1)创建类的对象 2) 给创建的对象属性赋值
-
(若不显示声明类的构造器,默认提供空参构造器。一旦显示定义类的构造器,那么默认的构造就不再提供)
-
声明类的构造器
public 类名() {
super();
}
4. 类的多个构造器之间构成重载(方法名相同,参数列表不同)。
方法的重载
一个类中有多个方法时,方法名相同,参数列表不同,这样的方法就构成了方法的重载。
1.同一个类中
2.方法名必需相同
3.方法的参数列表不同(1)参数的个数不同 2)参数的类型不同)
4.与返回值无关
对象的属性赋值的先后顺序:
1)属性的默认初始化 2)属性显示的初始化 3)通过构造器给属性初始化 4)通过对象.方法的方式给属性赋值
代码块(初始化块)
只能用static修饰,分为静态代码块,和非静态代码块
非静态代码块:
1. 可以对类的属性进行操作
2. 里面可有输出语句
3. 一个类中可以有多个非静态的代码块,多个代码块按照顺序运行的
4. 每创建一个类的对象,非静态的代码块就被加载一次,
5.非静态的代码块早于构造器
静态的代码块(static 修饰)
1. 可以有输出语句
2. 随着类的加载而加载,只能被加载一次
3. 多个静态代码块只按照顺序执行的,早于非静态代码块
4. 静态代码块中只能执行静态的结构(类属性,类方法)