码迷,mamicode.com
首页 > 编程语言 > 详细

使用java实现面向对象 第二章

时间:2017-10-07 20:50:17      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:值类型   不能   strong   oid   top   必须   变量   属性   设计   

第二章 继承

一、使用继承

继承是面向对象的三大特特之一,Java只支持单继承。继承表达 is a 的关系。

Java中,所有的Java类都直接或间接的地继承了Java.lang.object类,所有类都是Object的子类

 

 

1.编写父类

  Class Pet {

    //公共的属性和方法

}

2.编写子类,继承父类

   Class Dog extends Pet {

     //子类特有的属性和方法

   }

Class Penguin extends Pet {

}

二、关于修饰符可否被子类继承

继承public和protected修饰的属性和方法,不管同不同包。

继承默认权限修饰符的属性和方法,只有在同包

无法继承private修饰的属性和方法

无法继承父类的构造函数

访问修饰符

本地

同包

子类

其他

Private

 

 

 

 

默认

   

 

 

Protected

     

 

Public

       

 

二、理解继承

1.子类访问父类成员

  使用super关键字

访问父类属性

Super.name;  (super代表父类对象)

  2 ) 访问父类方法

     Super.print();

2.有些父类成员不能继承

  1)private成员

  2)子类与父类不在同包,使用默认访问权限的成员

  3)构造方法

3.访问修饰符protected

   1)可以修饰属性和方法

   2)本类、同包、子类可以访问

4.

         1)Super必须出现再子类(子类的方法或构造函数)中,不能再其他位置

2)可以访问父类成员(可被继承的)

3)访问父类构造函数必须在子类构造函数的第一条语句

 

四、符合is-a关系的设计使用继承

1.Java中,继承(Inheritance)通过extends关键字来实现,其中SubClass称为子类,SuperClass称为父类、基类或超类。

2.在子类中可以根据需求对从父类继承的方法进行重新编写,称为方法的重写或方法的覆盖。

方法的重写满足的要求:

        

五、构造方法

1.构造方法不能被继承因此不能被重写。

2.在子类中调用父类的构造方法?

  Super();

  Super(参数表);

3.super代表对当前对象的直接父类对象的默认引用。在子类中可以通过super关键字来访问父类的成员。

 Super的要求

4.继承条件下构造方法的调用规则:

5.使用this和super注意事项:

 

六、重写和继承关系中的构造方法

重写父类的print()方法

 

重写:子类中可以根据需求对从父类继承的方法进行重新编写,称为方法的重写或者方法的覆盖。

 

一.方法重写必须满足如下要求:

1.重写方法和被重写方法必须具有相同的方法名

2.重写方法和被重写方法必须具有相同的参数列表

3.重写方法的返回值必须和被重写方法的返回值类型相同或者是其子类。

4.重写方法不能缩小被重写方法的访问权限。

 

二、重载和重写有什么区别?”

重载:重载在同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型,访问修饰符无关。

重写:重写是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同,访问修饰符不能严于父类。

七、abstract关键字

1.抽象类和抽象方法都通过abstract关键字来修饰。

2.abstract也可以用于方法——抽象方法

  1)抽象方法没有方法体

  2)抽象方法必须在抽象类里。

  3)抽象方法必须在子类中被实现,除非子类是抽象类。

     Public abstract void print();——没有方法体

3.final修饰符

  1)用final修饰的类,不能再被继承

  2)用final修饰的方法,不能被子类重写

  3)用final修饰的变量(包括成员变量和局部变量)将变成常量,只能赋值一次。

  注意:P57

4.abstract是否可以和private、static、final共用

使用java实现面向对象 第二章

标签:值类型   不能   strong   oid   top   必须   变量   属性   设计   

原文地址:http://www.cnblogs.com/ppdpp/p/7635581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!