JAVA面向对象(4)

一、继承

        特点:

                子类继承父类中的所有属性和方法,但是父类中私有的属性以及方法不能被子类继承(私有属性只能在当前类使用,其他类无法使用)构造方法也无法被继承;子类可以拥有自己的属性和功能;一个父类可有多个子类、但是一个子类只能有一个父类。

        作用:

                提高代码的重用性

        关键字extends:

                语法: [访问修饰符] class 子类 extends 父类{}

public class jicheng {
    public static void main(String[] args) {
        S1 s=new S1();//创建子类的对象
        s.t1();
    }
}
class F1{
    private String name="搓麻将";//被private修饰过的私有属性无法被继承
    private int age=19;
    String hourse="30栋大别墅";
    int car=50;
    int money=999999;
    
    public void display(){//在父类中创建一个display方法
        System.out.println("---------------这是父类中的方法-------------");
    }
}
class S1 extends F1{
    public void t1(){
        System.out.println("从父类继承过来的 "+hourse);
        System.out.println("从父类继承过来的 "+car+"辆AMG GT");
        System.out.println("从父类继承过来的 "+money+"美金");
        super.display();
    }
}

二、super关键字

        在创建有继承关系的子类对象时,一定会先执行父类中的构造方法(默认执行的无参数的构造方 法),然后再执行子类的构造方法。 如果在创建子类对象时,父类中不存在默认的构造方法,则程序编译错误。

        super关键字:

        super关键字使用的场景:

        super关键字只能出现在有继承关系的子类中

         super关键字的作用:         

                表示对当前类父类对象的引用(白话:就是可以把super当作父类对象来使用) 可以使用super关键字,来显示的说明子类中的某个属性或方法是在父类中定义的,

        super关键字 的用法:         

                属性:super.属性名

                方法:super.方法名(参数列表)

                构造方法:只有super以super(参数列表)的形式出现在子类构造方法的第一句代码时,就表示 明确了所要使用的父类构造方法

public class Demo1{
public static void main(String[]args){
//创建子类对象
S1 s1=new S1();
s1.t1();
}
}
//父类
class F1{
private String name="zhangsan";
private int age=99;
String hourse="5套房子";
String car="10辆宝马";
String money="9999999999999999999999$";
public F1(String name){
System.out.println("**********父类中的构造方法**********");
}
public void display(){
System.out.println("---------父类中的方法--------------");
    }
}
//子类
class S1 extends F1{
public S1(){
super("zhangsan");
System.out.println("***********子类中的构造方法*********");
}
public void t1(){
System.out.println("从父类中继承的房子有:"+super.hourse);
System.out.println("从父类中继承的车子有:"+super.car);
System.out.println("从父类中继承的存款有:"+super.money);
//System.out.println(name+" "+age);//私有的子类无法被继承
super.display();//调用父类中的方法
    }
}

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值