【JAVA】Java 继承

继承

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

<理解:继承就是子类继承父类的特征和行为,即子类从父类继承方法,使得子类具有父类相同的行为。>

 

示例:

 

父类

package com.ext;

public class DemoCommon {
    String DemoName;
    String DemoId;
    String DemoAddr = "beijing";

    public void CommMethod(){
        System.out.println("common over!~");//3.1 -- 4.6.1
    }
}

 

 

子类

package com.ext;

public class DemoExt extends DemoCommon{
    String SubDemoName = "zhangsan";
    String SubDemoAddr = "shanghai";

    public void ExtMethod(){
        System.out.println("subDemo ext Common");//4.1
        System.out.println(this.SubDemoName);//4.2
        System.out.println(this.SubDemoAddr);//4.3
        System.out.println(this.DemoName);//4.4
        System.out.println(this.DemoId);//4.5
        this.CommMethod();//4.6
    }
}

 

 

主方法

package com.ext;

public class Demo {
    public static void main(String[] args) {
        DemoExt demoExt = new DemoExt();
        System.out.println(demoExt.SubDemoName);//1
        System.out.println(demoExt.DemoAddr);//2
        demoExt.CommMethod();//3
        demoExt.ExtMethod();//4
    }
}

 

 

执行结果

 

 

拓展

封装

封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。

<理解:封装是隐藏方法的实现细节>

封装是一种信息隐藏技术,在java中通过关键字private,protected和public实现封装。

 

封装及调用

package com.Run;

import netscape.javascript.JSObject;

public class DemoRun {

    private String name;
    private int age = 18;
    private String address;

    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setAge(Integer age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }
    public void setAddress(String address){
        this.address = address;
    }
    public String getAddress(){
        return address;
    }


    public static void main(String[] args) {
        DemoRun demoRun = new DemoRun();
        demoRun.setName("zhangsan");
        String name = demoRun.getName();
        System.out.println("姓名:" + name);
        demoRun.setAge(22);
        System.out.println(demoRun.age);
        System.out.println(demoRun.address);
    }
}
DemoRun.java

 

执行结果:

 

多态

指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义

实现多态有 3 个必要条件

继承:在多态中必须存在有继承关系的子类和父类。
重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法,又能调用子类的方法。
posted @ 2023-05-11 10:46  Phoenixy  阅读(13)  评论(0编辑  收藏  举报