【Java面向对象部分 - 3】

本文深入探讨了Java中的面向对象特性,包括继承的概念、格式及成员访问特点,详细阐述了构造方法的加载顺序和方法重写。此外,还介绍了final关键字的应用,并对Object类的关键方法如getClass()、toString()、equals()和hashCode()进行了讲解。最后,提到了如何定义事物描述类以及学习这部分内容的辅助脑图。
摘要由CSDN通过智能技术生成

1.继承

1.1继承的概念

继承:在Java中,继承是描述类与类之间的关系。(父子)

特点:1.子类可以访问父类中所有非私有的成员,父类不可以访问子类成员。(子类可以找父类,父类不能找子类)
	 2.子类要加载,要先加载父类。(先有的爹后有的儿子)
	 3.单一继承,多层继承。(一个儿子只有一个亲爹,但是爹还有爹)
	 4.子类知道自己的父类是谁,但是父类不知道子类。(从继承格式体现)
	 
注意:Java中任何一个类如果在没有继承的情况下,都是默认继承于Object类
		Object是:基类,超类,根类。(炎黄)
         Java中所有类都是直接或者间接继承于Object类

1.2继承的格式

extends:生产 ---> 继承

子类的定义格式:(继承的声明在子类上,子类知道自己父类是谁)
	public class 子类名 extends 父类名{
	
	}

父类的定义格式:(父类不知道,哪些子类继承了它)  --->段正淳
	public class 父类名称{  

	}

学习技巧:从子类出发,将子类中的共性成员进行向上抽取,再利用继承关系来访问这些成员。

1.3继承关系下成员的访问特点:

在继承关系前提下,访问子类成员:
1.当子类有该成员,则优先访问子类成员,子类没有找父类要,如果所有的父类都没有,那就报错!!

总结:优先级:子类 > 父类

1.4 继承关系下构造方法的访问特点

1.当调用子类构造方法时,当方法中没有申明调用父类构造方法时,系统会默认在子类构造方法的第一行提供一个super();
2.当子类中调用了父类的构造方法时,系统就不提供super();
3.super:本类父类对象的引用。   (亲子鉴定)
public class Die {
     int age;
     String name;

    public Die() {
        System.out.println("父类无参构造");
    }

    public Die(int age, String name) {
        this.age = age;
        this.name = name;
        System.out.println("父类有参构造");
    }
}

class Zai extends Die{
    int age;
    String name;


    public Zai() {
        super();//在子类的构造方法中如果没有任何调用父类构造方法的语句,就会在子类构造方法的第一行默认super();
        System.out.println("子类无参构造");
    }

    public Zai(int age, String name) {                    // this口诀:哪一个对象调用了this所在的方法,this就代表那一个对象
        //super();    supe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值