继承

继承

extends的意思是"扩展"。子类是父类的扩展。

Java中类只有单继承,没有多继承! (一个儿子只有一个爸爸,但是一个爸爸可以有多个儿子)

  • 继承是类和类直接的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键词extends来表示
    • 子类和父类之间,从意义上将应该具有"is a"的关系

我们先写一个类 Person类(人)

package src.opp.Day01;

//Person  人   :父类
public class Person {

}

然后我们再写一个学生类 Student类

package src.opp.Day01;

//学生 is  人  :派生类  , 子类;
public class Student extends Person{ 

}

怎么表示继承关系呢? 我们可以使用extends来表示

package src.opp.Day01;

//学生 is  人  :派生类  , 子类;
//子类继承父类,就会拥有父类的全部方法;
public class Student extends Person{ //Student(学生) extends(继承) Person(人)
    //学生继承了人
}

这样Student类就可以继承Person类的所有东西了

当然我们也可以有其他的继承关系

我们在创建一个Teacher的类(老师)

package src.opp.Day01;

//Teacher is 人  :派生类   ,子类
public class Teacher extends Person{     // 老师继承了人
}

一样也可以继承Person类

extends是"扩展"的意思。 子类是父类的扩展。

Person类是父类

Student类和Teacher类是子类 也是派生类

我们在Person类里面输入

package src.opp.Day01;
//在java中,所有类,都默认直接或者间接继承opject
//Person  人   :父类
public class Person {
    
    
    public void say() {
        System.out.println("说了一句话");

    }
}

然后我们到学生类Student里面,发现什么都没有 , 子类只是继承父类的所有东西

我们在新建一个类 Application这个类

在类里面new一个Person

package src.opp.Day01;

import src.opp.Day01.Student;
public class Application {
    public static void main(String[] args) {

        Student student = new Student();
        student.say();



    }
}

然后我们在接收一下这个对象, 就是person.say();

然后我们在执行一下

在这里插入图片描述

发现输出了Person类里面say方法的这一句话

子类继承了父类,就会拥有父类的全部方法

我们再在Person类里面输入public int money = 10_0000_0000;

package src.opp.Day01;
//在java中,所有类,都默认直接或者间接继承opject
//Person  人   :父类
public class Person {
    public int money = 10_0000_0000;
    
    public void say() {
        System.out.println("说了一句话");

    }
}

然后我们在到Application类里面输出一下

    System.out.println(student.money);

在这里插入图片描述

就发现成功输出10亿

修饰符

我们属性用的都是 public

public 是公共的

private 是私有的

我们把Person类里面的public int money = 10_0000_0000;

public 给改成 private

在这里插入图片描述

就会发现Application类里面的money报错了

私有的是只能在这个类里面使用

私有的东西是无法继承的

当然修饰符我们也可以不写,不写的他默认的是default

还有一个修饰符是 protected 受保护的, 他的优先级高于private

private< default < protected < public

那私有的我们怎么去调用呢?

我们在下面使用get 和set

package src.opp.Day01;
//在java中,所有类,都默认直接或者间接继承opject
//Person  人   :父类
public class Person {
    //public   公共的
    //protected  受保护的   优先级高于private
    //private  私有的
    //如果不写的话,那就是默认的default
    private int money = 10_0000_0000;


    public void say() {
        System.out.println("说了一句话");

    }
    
    
    
 public int getmMoney(){
     return money
 }   
    
    
   public void setMoney(int money){
       this.money = money;
   } 
    
    
}

记住一个快捷键

Ctrl + H

同时按下去会在界面右边出现一个界面 ,

那个就是父类子类的图

你在哪个类里面按,就会出现哪个类图

然后我们可以发现一件事

在这里插入图片描述

不然我们在Person类里面按,还是Student里面按

上面都有一个Object 的

我们在Application类里面new 一个Person

然后再把Person类里面的所有东西给删掉

package src.opp.Day01;
import src.opp.Day01.Person;
import src.opp.Day01.Student;
public class Application {
    public static void main(String[] args) {

   Person person = new Person()}
}

然后我们在里面person . 一下 点一下 就会发现里面有很多方法

所以在Java中,所有的类,都默认直接或者间接继承Object类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值