博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
继承的理解和应用
阅读量:38381 次
发布时间:2022-02-22

本文共 1107 字,大约阅读时间需要 3 分钟。

46.继承的理解和应用

  • 继承与真实世界相似

类似于基因遗传(只有一个父亲)

符合is—a关系的设计使用继承(只有一个父类)

  • 继承是Java实现代码重用的重要手段之一

使用继承优化设计,将子类共有的属性和行为放到父类中(将重复的代码提取到父类),减少代码量,方便修改代码

继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类。

子类无法继承父类的private成员

同包的子类可以继承父类中默认修饰符修饰的成员,不同包的子类不可以继承父类中默认修饰符修饰的成员(继承默认权限修饰符修饰的属性和方法,但子类和父类必须在 同一个包里)

子类可以继承父类的protected成员,不管父子类是否在同一个包(继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里)

//Person类

package cn.com.ooa1;

//父类
public class Person {
    private int age;
    protected String name;
    char sex;
    public String address;
}

//Student类

package cn.com.ooa1;

//子类
public class Student extends Person {
    public void m1(){
        //子类可以继承父类的protected成员,不管父子类是否在同一个包
        System.out.println(name);
        /*//子类无法继承父类的private成员
        System.out.println(age);
        */
        //同包的子类可以继承父类中默认修饰符修饰的成员
        System.out.println(sex);
        System.out.println(address);
    }
}

//Teacher类

package cn.com.ooa2;

import cn.com.ooa1.Person;

//子类
public class Teacher extends Person {
    public void m1(){
        //子类可以继承父类的protected成员,不管父子类是否在同一个包
        System.out.println(name);
        /*//子类无法继承父类的private成员
        System.out.println(age);*/
        /*//不同包的子类不可以继承父类中默认修饰符修饰的成员
        System.out.println(sex);*/
        System.out.println(address);
    }
}

转载地址:http://ztqcuy.baihongyu.com/

你可能感兴趣的文章
php报错启动配置
查看>>
crontab执行不了php的解决方法
查看>>
mongodb 对内存的严重占用以及解决方法
查看>>
mysql 安装
查看>>
CentOS6.4 下安装gitlab
查看>>
CentOS 6下安装nodejs 0.9.0
查看>>
CentOS 系统下Postfix邮件系统配置
查看>>
nginx auth认证保护
查看>>
linux 画图不执行 Can't connect to X11 window server
查看>>
Myeclipse 错误:JVM terminated. Exit code=255
查看>>
matlab2014a win安装教程
查看>>
MATLAB 编译java步骤
查看>>
Linux服务器命令行模式安装 matlab2015a linux64
查看>>
linux 下多个java jdk 切换
查看>>
Kd-Tree算法原理
查看>>
CentOS 6 下编译安装nginx 参数配置
查看>>
linux 查看文件夹下的文件个数
查看>>
CentOS6.5 下编译安装php-5.6.3.tar.gz
查看>>
tensorflow的Virtualenv安装方式安装
查看>>
Chrome.storage和HTML5中localStorage的差异
查看>>