日常笔记整理--extends

本文介绍了Java中的继承概念,包括如何使用`extends`关键字创建子类,子类与父类之间的关系,以及继承的特性。讲解了成员变量、方法的重写规则,强调了构造方法不能被继承。此外,还探讨了静态关键字的作用,静态资源的共享特点以及调用规则。文章通过实例展示了类的继承和方法重写,并解释了继承带来的代码复用和多态性。
摘要由CSDN通过智能技术生成

package cn.tedi.forwhile;

public class TestExtends {
public static void main(String[] aregs){
    Father f = new Father();
    f.eat();
    f.work();
    Father f1 = new Son();
    f1.eat();
    f1.work();
    f1.name = "Geroge";
    f1.age = 18;
    System.out.println(f1.name);
    System.out.println(f1.age);
    Son s = new Son();
    s.eat();
    s.work();
    }
    }
class Father{
    String name;
    int age;
    public void eat(){
        System.out.println("规律饮食");
    }
    public void work(){
        System.out.println("每天工作八小时");
    }
}
class Son extends Father{
    public static void eat(){
        System.out.println("吃零食");
    }
public static void work(){
    System.out.println("每天学习八小时");
}
}
继承

1.我们通过extends关键字建立子类与父类的继承关系
如:Cat extends Animal ,Cat是子类【派生类】,Animal是父类【超类】
2.子类继承父类,相当于把父类的功能复制了一份
但是:私有资源也会继承,只是由于private修饰不可见
但是2:构造方法不可以被继承,由于构造方法的定义所致
3.Java只支持单继承:一个子类只能有一个父类,但是一个父类可以有多个子类
4.继承具有传递性,爷爷的功能会传给爸爸,爸爸的功能会传给孙子
5.子类可以修改父类的功能修改,也可以拥有自己独有方法进行功能拓展

6.继承是is a的关系,依赖性非常强,强耦合

前提:继承后,子类可以直接使用父类的非私有资源
继承之成员变量
1.如果成员变量没有重名,子类可以直接使用
2.如果存在父类成员变量与子类成员变量重名的情况,使用super进行指定


super是一个关键字,可以看作是父类的对象,如Cat super = new Cat();
位置要求:必须是第一行,格式:super.变量名


继承之方法
重写:继承后,子类对父类的方法实现不满意,想修改
重写的规则:两同两小一大
两同:方法名与参数列表和父类保持一致
两小:子类方法的返回值类型 <= 父类方法的返回值类型
子类方法抛出的异常类型 <= 父类方法抛出的异常类型【还没学到】
一大:子类方法的修饰符 >=父类方法的修饰符
注意:父类的私有方法不可以被重写,因为私有资源不可见,即子类无权修改父类的私有方法

继承之构造方法
1.在创建子类对象时,会调用构造方法,而子类构造方法中的第一行就是super();
即:创建子类对象,会先调用父类的构造方法
2.子类构造方法中必须调用父类无参构造
如果没有无参构造,需要手动调用父类的其他构造方法
3.构造方法不可以被继承

4.super()–表示调用父类的无参构造

super("")–表示调用父类的含参构造,此处举例是一个String类型的参数
静态

1.静态的关键字是static
2.静态可以修饰成员变量和方法,被静态修饰的资源被称作静态资源
3.静态优先于对象进行加载,随着类的加载而加载
4.静态资源被全局所有对象共享,值只有一份
5.静态资源可以通过类名直接调用
调用关系:静态资源只能调用静态资源
非静态资源既可以调用非静态资源,也可以调用静态资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值