4

【Java入门】十八 面向对象的三大特征之一-继承

 2 years ago
source link: https://blog.51cto.com/u_15756589/5666257
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【Java入门】十八 面向对象的三大特征之一-继承

精选 原创

秃头仙女 2022-09-09 15:26:09 ©著作权

文章标签 父类 java 子类 文章分类 Java 编程语言 阅读数313

        继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。​

        继承是面向对象编程的三大特征之一,继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don't reinvent wheels)。

       继承有两个主要作用:

        1、代码复用,更加容易实现类的扩展

        2、方便建模

继承的实现

        从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:

【Java入门】十八 面向对象的三大特征之一-继承_子类

         图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个student类,发现已经有person类包含了我们需要的属性和方法,那么student类只需要继承person类即可拥有person类的属性和方法。

【示例】使用extends实现继承

public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",176,"Java");
s.rest();
s.study);
}
}
class Person {
String name;
int height;
public void rest(){
System.outprintln("休息一会! ");
}
class Student extends Person {
String major; //专业
public void study(){
System.out.println("在尚学堂,学习Java");
}
public Student(String name,int height,String major) {
//天然拥有父类的属性
this.name = name;
this.height = height;
this.major = major;
}

instanceof运算符

instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象时,返回true;否则,返回false。比如:

【示例】使用instanceof运算符进行类型判断

public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",172,"Java");
System.outprintln(s instanceof Person);
System.outprintln(s instanceof Student);
}
}

继承的使用要点

1、父类也称作超类、基类。     子类:派生类等。

2. Java中只有单继承,没有像C+ +那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3. Java中类没有多继承,接口有多继承。

4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5. 如果定义一一个类时,没有调用extendsr 则它的父类是: java.lang.Object.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK