栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象特性之一:继承性

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象特性之一:继承性

类的继承:

1.继承
    关键字:extends
    例如:class A extends B{
    }
    A:子类  B(超类,基类,SuperClass):父类
2.通过继承,子类可以继承父类中所有的属性和方法(构造器除外)
3.继承的注意:
    ①不能为了简化代码,获取某关系而继承,若要继承,二个类之间必须满足一定的所属关系: is a
    ②java只支持单继承,不支持多继承。(一个父类可以有多个子类,但是一个子类只能有一个父类)
    ③java支持多层继承

public class ExtendsTest1 {
    public static void main(String[] args) {
        Students stu=new Students();
        stu.name="学生张三";
        stu.age=18;
        stu.no=2020740;
        System.out.println("姓名:"+stu.name+" 年龄:"+stu.age+" 学号:"+stu.no);
        stu.eat();
        stu.sleep();
        stu.study();
        System.out.println("----------------------------");
        Employee emp=new Employee();
        emp.name="员工李四";
        emp.age=22;
        System.out.println("姓名:"+emp.name+" 年龄:"+emp.age);
        emp.eat();
        emp.sleep();
        emp.work();
        System.out.println("----------------------------");
        Manager mag=new Manager();
        mag.name="经理王五";
        mag.age=35;
        System.out.println("姓名:"+mag.name+" 年龄:"+mag.age);
        mag.eat();
        mag.sleep();
        mag.work();
    }
}

class Person{
    String name;
    int age;
    public void eat(){
        System.out.println("吃饭");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}
class Students extends Person{
    int no;
    public void study(){
        System.out.println("学习");
    }
}
class Employee extends Person{
    public void work(){
        System.out.println("工作");
    }
}
class Manager extends Employee{

}

package Exer;

public class ExtendsExer1 {
    public static void main(String[] args) {
        PC pc=new PC();
        pc.cpu="3.0GHz";
        pc.ram="16G";
        pc.hdd="1T";
        pc.box=true;
        System.out.println(pc.getDetails());
        pc.hasBox();
        NotePad np=new NotePad();
        np.cpu="5.0GHz";
        np.ram="32G";
        np.hdd="2T";
        np.fold=true;
        System.out.println(np.getDetails());
        np.isFold();
    }
}
class Computer{
    String cpu;
    String ram;
    String hdd;
    public String getDetails(){
        return "CPU:"+cpu+" RAM:"+ram+" HDD:"+hdd;
    }
}
class PC extends Computer{
    boolean box;
    public void hasBox(){
        System.out.println("是否有主机箱:"+box);
    }
}
class NotePad extends Computer{
    boolean fold;
    public void isFold(){
        System.out.println("是否可以折叠:"+fold);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号