1.封装:
1.就是将一些逻辑代码和实现的细节封到一个类里,隐藏细节,外部不能随便修改或调用,需要声明对象的引用来调用,可以提高代码的复用性.比如在测试类里
2.实现流程:
1.私有化成员变量用private修饰 |
static修饰时变成类层级,用类名.调用
2.继承(extends):
1.多个类有相同的部分,将同样的部分放到父类,子类都包含自己独有的方法,然后继承父类的相同的方法,实现代码通用编程。子类需要重写父类的方法@override注释然后super.show()调用。
重写原则:1.方法名一样,参数列表及返回值相同2.访问权限不能变小可同级或变大3.子类重写方法不可抛出更大异常
继承注意:
1. 子类可以继承私有成员变量,不可继承父类构造方法与私有成员方法 |
访问控制符:
public:可在任意处使用,无论自己包或别的包
protected:只可以在本类中使用,其他的包不可以
默认: 只在本类的内部和本包中的类
private:仅在本类的内部使用
多态:
有继承,重写,父类引用指向子类对象
意义:屏蔽不同子类的差异实现通用的编程
当父类的引用指向子类的对象时,可直接调用父类方法,若想调用子类对象需强转。例:
Person p = new Worker(); |
强转判断:
//此处person不转,worker需强转; |
多态的三种实现:
//父类指向子类
1.Person p = new Worker();
2.//写个静态方法将父类当形参放入,用类名.此静态方法名(new 子类对象来调用)
public class R{ |
3.接口的实现方法:
因为接口比抽象类更抽象,不能new对象,因此不能用2方法中那样的形式new个对象,那么我们就需要定义一个类来实现这个接口,
用类名.调用的时候TestA.test(new shixianA());
比如两个接口类叫metal和gold,然后写monet类实现它两个,会重写他两,之后在测试类里,
//有点像定义一个父类实现多个子类的形式; |
final:
修饰类:不能被继承,防止滥用string,stystem |