java继承

java中继承由extends关键字实现

java中只有单继承

继承关系是由“子类和父类”确定

父子关系是相对的

特点:子类可以拥有父类的属性和方法

           当两个类有相同的属性方法,抽取父类

           减少代码关系,实现代码复用

           子类可以拥有自己新的属性和方法

三个Java文件在同一个包中

第一个例子

Father.java

package com.lyc;

public class Father{
    String name;
    public void diver(){
        System.out.println("骑自行车");
    }
}

Son.java

package com.lyc;

public class Son extends Father {

}

Test.java

package com.lyc;

public class Test {
    public static void main(String[] args) {
        //子类可以拥有父类的属性和方法
        //父类私有的,子类无法访问
        //父类方法是默认的,子类与其不在一个包中无法访问
        Son sanmao = new Son();
        sanmao.name ="三毛";
        sanmao.diver();
        System.out.println(sanmao.name);

    }
}

第二个例子

Teacher.java

package com.lyc1;

public class Teacher {
    public String name;
    public int age;
    public int workage;
}

Student.java

package com.lyc1;

public class Student extends Teacher{
    public String stuid; //学号

}

Test.java

package com.lyc1;

public class Test {
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.age = 20;
        t.name ="zhangsan";
        t.workage = 0;
        Student s = new Student();
        s.age =10;
        s.name = "xuesheng";
        s.stuid ="1111";
    }
}

java继承中的构造方法

三个java文件在同一个包中

Father1.java

package com.lyc3;


public class Father1 {
    String name;
    public Father1(String name){
        name = this.name;
    }
    //上面代码若存在且注释下面两行代码,Test1则会报错,因为子类只能调用父类已有的构造方法
    public Father1(){
        System.out.println("显式无参");
    }
}

Son2.java

package com.lyc3;


public class Son2 extends Father1{
    //加上以下几行代码,Test1就会调用父类的显式构造方法
   public Son2(){
       super("zhangsan");
       System.out.println("子类显式无参构造方法");
   }
}

Test1.java

package com.lyc3;

public class Test1 {
    //构造方法的基础
    //1.类中一定存在构造方法(显式或隐式)
    //2.如果有显式构造方法,就不会有隐式构造方法


    //继承中的构造方法
    //1.创建子类对象一定会调用父类的构造方法(显式或隐式)
    //2.子类默认调用父类无参构造方法
    //3.子类只能调用父类存在的构造方法
    public static void main(String[] args) {
        Son2 sanmao = new Son2();

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

diary_chao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值