从零开始的Java再学习-DAY3

五.面向对象

5.封装

1.要求高内聚,低耦合。低耦合是指减少对其它类的依赖,高内聚是指调用的方法尽量写在本类中,对一个项目来说,就是减少第三方依赖;

2.封装的特点就是属性私有,通过get/set接口来获取属性;

6.继承

1.通过extends实现,子类 extends 父类;

2.private私有不被继承,子类无法使用,除私有外均可使用和重写;

3.所有类都默认继承object类;

4.super可调用父类参数或方法;

5.非静态方法重写中主要看左边的类,如A extends B ; B b=new A();b.test(),这里b调用的test方法是B类中的,父类可以指向子类,静态调用不管用,因为静态是类的方法,和类一起生成,那样b就是A一个new出来的对象而已;

6.super调用父类方法必须在构造方法的第一个,只能出现在子类方法或构造方法中,不能和this同时调用构造方法;

7.super和this的区别:代表对象不同,this代表调用者的对象,super代表父类对象的应用;前提不同,this不需要前提,super只能在继承条件下使用;构造方法不同,this是本类的构造,super是父类的构造;

8.重写需要继承关系,且是子类对父类的重写,需要注意1.方法名一致,2.参数列表一致,3.修饰符范围只能扩大,4.抛出的异常只能扩大,5.只是方法体不同;

7.多态

1.多态是属于方法的,属性没有多态;

2.若子类重写了父类方法,则调用父类该方法会执行子类的重写方法;

3.常量,私有,静态均不可重写;

4.instanceof(类型转换),用于检验2个类有无继承关系,如上述B instanceof A输出true;同阶级的子类用该方法会报错。子类父类也可进行类型转换,子转父自动,反之强制,转换带括号(B)A;

8.抽象类

1.abstract修饰抽象类;

2.抽象类可以没有抽象方法(abstract修饰的方法),但抽象方法一定存在在抽象类;

3.抽象类不能使用new来创建对象,只能让子类继承;

4.抽象方法只是方法的声明,不存在方法体实现,只能通过子类实现;

5.子类继承抽象类要实现抽象类的方法,不实现也要用abstract修饰该子类;

6.抽象类也存在构造器;

9.接口

1.抽象方法通过继承实现方法,且只能单继承,因此出现接口,接口可以多继承,更灵活,接口只是一个规范,不存在方法体;

2.接口类型为interface,继承为implements;

10.内部类

1.内部类有普通内部类(在public class内的一个 class),静态内部类(在普通内部类上加static修饰),局部内部类(在主类外一个class);

11.异常

1.一个完整的方法包括异常的捕获和抛出异常;

2.throw用在方法体中,throws用在方法头中;

3.异常也可自定义;

上一篇:Day3搭建JAVA开发环境


下一篇:SNP在世界地图上的频率分布