一,封装
1,属性封装:
将属性私有化,并对外提供一对公共的get和set方法。
get 用来获取私有属性。set 用来修改设置私有属性。
★,实体类:当类中只有一些私有属性,get方法,set方法,和构造器,并没有自定义方法。
它最主要是用来存储数据的。
二,包
1,包的声明:
package 路径;
包声明必须在除注释外的第一行。
2,导包
当我们使用的类和当前类不在同一个包下的时候,必须要 inport 导包。
导包必须在包声明下面,类的上面。
★,当使用 java.long 包下的类时,可以不导包。
★,常用系统包:
java.util java 通用工具包
java.sql 操作数据库类的包
java.mach 一些数学操作类的包
java.io 一些输入输出操作类的包
三,继承
定义:如果多个类有一些共同的属性和行为,我们就把这些公共的东西提取到一个类中,然后这 些类去继承这个公共类。公共类成为父类,或超类。
注意点:
1,继承只能单继承。1个子类只能继承1个父类,即只能有一个直接父类。
2,可以多层继承,单不能多继承。
3,子类能继承父类非私有的属性和方法,不能继承构造器,但可以调用父类构造器。
super(); 等同于 new Car();
4,当两个类存在继承关系时,一旦我们new了一个子类构造器,先执行父类构造器里的代码,再执行子类构造器里的代码。
5,隐式调用:子类会默认调用父类的无参构造器。
6,显式调用:super. 调用哪个构造器,就执行那个构造器里的代码。
7,不管显式,隐式那种调用,super([参数]); 必须在构造器的第一行。
★,super用法:
1,指代的是父类对象(前提是有继承关系)。只要有继承关系,每个子类中都隐含一个
super(),等同于 new Car();
2,super 可以调用属性,方法,构造器。
3,super和this 都不能在static修饰的方法中使用。
四,static 修饰符:
用来修饰:1,修饰变量,修饰变量时叫做类变量。}
2,修饰方法,修饰方法时叫做类方法。}类变量,类方法,他们成为类成员。
3,修饰代码块。只有方法体,没有返回值,方法名的方法体。
a,静态代码块优先执行于main方法。
b,静态代码块非常消耗内存。
★,不被static修饰的属性和方法,我们称之为实例变量,实例方法,他们为实例成员。
主要用法:
1,在实例方法中,可以调用实例成员和类成员。在static方法中,只能调用类成员。
2,被static修饰的成员变量的值被所有对象所共享。
3,被static修饰的变量可以通过类名去调用。 类名.变量名; 。
☆,final 修饰符用法:
1,修饰变量,变量会变为常量。
2,修饰方法,方法就变成最终方法了,这个方法不可以被重写。
3,修饰类,类就成为最终类,这个类不能被继承。
五,方法重写 override
定义:当父类里的方法无法满足子类需求是,子类去重新定义这个方法类覆盖父类方法,这个过程我们称之为方法重写。
注意点:
1,必须满足继承关系。
2,方法名必须相同
3,参数必须和父类参数保持一致
4,返回值类型和父类相同,或是其子类。
5,修饰符访问权限范围大于等于父类修饰符访问范围。
六,转型
★,== 用来比较基本数据类型。 equals 用于比较对象。
★,对象 instanceof 类。判断前面对象是否是后面类的一个实例对象。
★,继承关系下才能转型:
1,子转父 向上转型 Object o=Person p; 自动类型转换
2,父转子 向下转型 Person p=(Person)o; 强制类型转换
七,多态
父类.对象名=new 子类构造器();
对象.方法(); 调用的是子类重写后的方法。
注意:
1,必须存在继承关系
2,方法重写
3,向上转型
多态主要应用:
1,父类主要作为方法的形参
2,父类主要作为方法的返回值