类与对象
(1)类: 抽象过程:相同或相似的对象归为一类,一种分析问题的方法,类是一个模板,确定对象将会有哪些属性和方法,类是对象共同点的描述
(2)对象: 对象是表示具体的个体,有两大特征:1,属性 -特征(静态),2,方法 -行为(动态)
(3)封装:对象的属性和行为封装在一起,他们共同体现对象的特征,二者不能分离,相辅相成。
(4)类与对象的关系:1:n.
(5)类是一种引用类型,由类产生对象的过程叫做实例化的过程
(6)数据安全性问题:一般将类中的属性私有化(private修饰),给所有属性都提供公开的set/get方法,通过set/get方法对属性赋值、获取值
(7)封装:使用访问限定符对类,属性和方法的访问范围进行限定,有四种
public 整个工程中可访问
protected 同包中可访问,子类中可访问
缺省 同包中可访问
private 同一个类中可访问
(8)类中的数据定义:1,内部类,2代码块:在调用构造方法的时候,一定会先指定代码块,3,属性,4,方法,5,构造方法:每个类都默认有一个无参的构造方法,
每个类都隐式声明了一个无参构造方法
(9)java中的四种代码块:
(1)普通块:定义在方法中(不管是静态方法还是普通方法),方法别调用时执行
(2)构造块:直接定义在类中,但是没有static修饰,优先于构造方法在执行,晚于静态块执行,每执行一个构造方法,执行一次
(3)静态块:定义在类中,且有static修饰,最先被执行,且对于一个类有多个对象,只执行一次
(4)同步块:synchronized关键字修饰的,和线程有关
(10)静态代码块和构造代码块的异同点:
相同点:都是JVM加载类后且在构造函数执行之前执行,在类中可定义多个,一般在代码块中对一些static变量进行赋值。
不同点:静态代码块在非静态代码块之前执行。静态代码块只在调用对象时执行一次,之后不在执行。而非静态代码块每new一次就执行一次。
(11)构造方法的特点
a.方法名和类名相同
b.不需要声明返回值类型
c.必须使用new 来调用
(12)5.构造器方法的重载:在一个类中可以定义多个构造方法,只要每个构造方法的参数列表不一样[参数个数,类型或者顺序]
意义:可以在不同的情况下选择合适的方式来构造对象
注意:一旦重载了构造方法,则默认的无参构造方法就失效了,如果还需要用,就需要显式声明
(13)一般方法同样可以重载:同一个类中定义多个同名不同参数列表的方法,方法的重载和方法的返回值,访问限定符都没有关系