Java面向对象的三大特征之笔记

2017-09-10  本文已影响0人  测试的旅途中

概念继承:子类引用超类,并且以关键字extends来表示

构造器:对象在加载的一瞬间(new)执行的那个程序块,那个程序代码就要构造方法

构造方法(构造器)的特点:没有返回值;没有void;和类的名字相同

1.类建立好以后,虚拟机会给我们建立一个默认构造器

2.构造器不能被继承(可以被调用);

3.当new一个子类对象的时候  会先调用父类的构造器再调用子类的构造器;

4.在调用默认构造器时可以使用  【new  方法名();】即可

*如果重载了构造器,最好把默认的构造器给弥补上  ,如果自己写了一个带有参数的构造器,那么这个构造器就会把那个默认的没有任何参数的构造器给覆盖了

如:A a = new A();

a----就是对象的句柄

重写toString()方法:

public String toString(){

return "123";

}

在输出时用a.toString()

5.构造函数中经常用的super

1)调用父类的方法

2)调用父类的属性

3)调用父类的构造方法

     1>.子类构造的过程中一定会调用父类的构造方法

     2>.super(多个参数)调用父类的构造方法

     3>.如果子类的构造方法没有显示的调用父类的构造方法 那默认调用父类无参数的构造方法

     4>.如果子类的构造方法没有显示的调用父类的构造方法,父类无参数的构造方法还没有提供那么编译就会出错

重写概念:发生在子类和超类之间,子类覆盖父类的方法

1、属性不能被覆盖和重载

2.父类的引用指向子类的实例,子类如果覆盖父类的方法。最后调用的是子类的方法

叫做虚方法;整个调用的过程就成为动态绑定的过程;

3.覆盖方法时,访问的权限不能降低

4.重写的规则:方法名,方法参数(个数,类型,顺序),返回值一样

重载概念:要在同一个类中,方法名一致,方法参数的个数不同或者参数的类型不同

抽象类 :abstract修饰的方法  称为抽象方法

1.抽象方法不能有方法体

2.如果一个类里边有一个抽象方法那么这个类要声明为抽象类

3.如果子类继承自一个抽象类 那么就要实现这个抽象类里定义的所有抽象方法

或者把父类的抽象方法在子类中依旧声明为抽象的方法 子类声明为抽象类

4.抽象类里可以没有抽象方法

5.抽象类不能实例化对象

接口 inferface修饰的方法称为接口

Java是单继承(只能继承一个父类)。可以多实现(可以继承多个接口)!!!!!!

1.接口里的方法都是抽象方法

void run();  相当于 public abstract void run();

2.接口里的属性都是静态属性

int id=100;  相当于  public static final int id=100;

3.如果一个类实现接口 就要实现接口里所有没有实现的抽象方法,也可以把这个类声明成abstrcat不实现其中的接口

实现使用的关键字: implements

4.接口不能实例化对象

5.接口 new实现类  也是多态的表现 和父类的引用指向子类的实例是类似的

6.软件开发过程中:接口的制定者 接口的实现者 接口的使用者  三者分开

7.多个无关的类可以实现同一个接口

8.一个接口可以继承其他接口 同时也就继承了其他接口的方法

9一个类可以实现无关多个接口  在某种程度上实现的多继承

最后温馨提示;慎用继承

1、父类变,子类就必须变。

2、继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的。

3、继承是一种强耦合关系。

上一篇下一篇

猜你喜欢

热点阅读