java面向对象中_1(day07)

继承性extends

 

 

 

 Object类

 如果没有显示的声明一个类的父类的话,则此类继承java.lang.Object类

 所有的类都直接或间接的继承Object类

 

 debug调式测试

 方法的重写

     在子类中可以根据需要对父类继承过来的方法进行改造,也称为方法的重写、覆盖。在程序运行时,子类的方法覆盖父类的方法。

 super关键字的使用

      super用来区分子类重写的方法与被重写的方法

 supper调用构造器

 

 

 总结:

/*
 * super 关键字的使用
 * super理解为父类的
 * super可以调用:属性、方法、构造器
 *    1 属性:我们可以使用super.属性(方法)显示的调用父类的属性与方法通常可以省略不写
 *      但是当子类与父类同名的属性时,要想在子类中使用父类的属性。则必需使用super.属性的方式
 *    2 方法:当子类重写父类的方法时,我们想在紫烈的方法中调用父类的被重写的方法时,则必需使用super.方法
 *    3 构造器:
 *       [1]可以在子类的构造器中显示的使用"super(形参列表)"的方式,调用父类声明的指定的构造器
 *       [2]supper放在子类构造器的首行
 *       [3]在类的构造器中this(形参列表) super(形参列表)二选一,不能同时出现
 *       [4]在构造器的首行没有显示的声明this(形参列表)super(形参列表)
 *              则默认使用super(空参)的父类的空参的构造器
 *       [5]在类的多个构造器中,至少有一个类的构造器中使用"super(形参列表)"调用父类中的构造器。
 */

 子类对象实例化的过程

 

 多态性的使用(运行时行为 动态绑定)

 

package com.atfqs.java5;
//多态性的举例一:
public class AnimalTest {
	public void func(Animal animal){
		animal.eat();
		animal.shout();
	}
    public static void main(String[] args) {
		AnimalTest a = new AnimalTest();
		a.func(new Animal());
		a.func(new Dog());// Animal animal = new Dog();
		a.func(new Cat());// Animal animal = new Cat();
	}
}
class Animal{
	public void eat(){
		System.out.println("动物: 进食");
	}
	public void shout(){
		System.out.println("动物:叫");
	}
}
class Dog extends Animal{
	public void eat(){
		System.out.println("狗吃饭");
	}
	public void shout(){
		System.out.println("汪汪汪");
	}
}
class Cat extends Animal{
	public void eat(){
		System.out.println("猫进食");
	}
	public void shout(){
		System.out.println("喵喵喵");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值