专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 初学者需要学会的Java继承类

初学者需要学会的Java继承类

更新时间:2020-07-15 16:13:55 来源:动力节点 浏览1826次

Java中类的继承

继承是面向对象三大特征之一,三大特征分别为封装、继承、多态

继承的基本作用是:代码复用。有了继承之后才有“方法覆盖”和“多态机制”。

继承语法格式:

【修饰符列表】class类名extends父类名{

类体=属性+方法

}

java中只支持单继承,一个类只能继承一个类,不能同时继承多个类。

子类继承父类

子类、派生类——subclass

父类、基类、超类——superclass

子类继承父类哪些数据?

——私有的不支持继承

——构造方法不支持继承

——其他数据都可被继承

public class Inherit {
private String name;         //用于继承
public Inherit(){
        this(null);
    }
    public Inherit(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public class InheritTest extends Inherit{   //继承了Inherit中的getname和setname方法}
public class Test {
    public static void main(String[] args){
        InheritTest i = new InheritTest();	
        i.setName("jack");		//通过InheritTest类来调用Inherit类的setname和getname方法
        System.out.println(i.getName());
	}
}

虽然java中只支持单继承,但一个类可间接继承其他类,如:

C extends B{
}
B extends A{
}
A extends T{
}

C类直接继承B类,间接继承A、T类

初学者需要学会的Java继承类

在测试继承的时候出现了 ‘InheritTest.this’ cannot be referenced from a static context 的问题,这属于内部类调用问题,因为非静态变量类型不能在静态上下文中引用。将内部类改为static,问题解决。

public class InheritTest{
    public static void main(String[] args){
        C c = new C();
        c.dosome();
    }

    static class A {
        public void dosome(){
            System.out.println("调用了该方法11");
        }
    }
    static class B extends A{
        public void dosome(){
            System.out.println("调用了该方法22");
        }
    }
    static class C extends B{

    }
}
//运行结果:
调用了该方法22
Process finished with exit code 0

假设一个类没有显示继承任何类,该类默认继承javaSE库中的java.lang.Object类

(补充)如果父类实现了某一个接口,则子类继承父类会自动实现这个接口,已经实现的方法也会继承过来;如果父类是个抽象类,则需要子类重写实现接口的方法。

初学者需要学会的Java继承类

以上就是动力节点java培训机构的小编针对“初学者需要学会的Java继承类”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>