Java学习笔记12继承(一)_20200410

本文详细介绍了Java中的继承概念,包括继承的特性、方法重写规则,并通过多个实例进行演示,如子类隐藏超类字段、构造器使用、访问权限等,帮助读者深入理解Java的继承机制。
摘要由CSDN通过智能技术生成

第12章 继承

01 练习

02 继承

Java中通过继承一个类,来继承此类的所有功能。
Java中的每一个类都继承于Object,当创建一个类时,会自动的继承Object类的所有方法。

例一

package com.day10;

class Foo {
   
	
}

public class Day102 {
   
	public static void main(String[] args) {
   
		Foo f = new Foo();
		//toSring方法继承于Object
		System.out.println(f.toString());
		System.out.println(f.hashCode());
	}
}

在这里插入图片描述


tips:
Ctrl + Shift + T --> open type
Object:
在这里插入图片描述
在这里插入图片描述
按Ctrl + o
在这里插入图片描述
找到toString方法
在这里插入图片描述
在这里插入图片描述
hashCode
在这里插入图片描述
在这里插入图片描述


例二

instanceof关键字用于判断一个对象是否是这个类型

在这里插入图片描述

例三

package com.day10;

class Foo {
   
	
}

public class Day102 {
   
	public static void main(String[] args) {
   
		Foo f = new Foo();
		//toSring方法继承于Object
		System.out.println(f.toString());
		System.out.println(f.hashCode());
		
//		//instanceof关键字用于判断一个对象是否是这个类型
//		if(f instanceof Object) {
   
//			System.out.println("Foo 继承于Ojbect");
//		}
		
		//f是Object类的实例
		System.out.println(f instanceof Object); //true
		//f是Foo类的实例
		System.out.println(f instanceof Foo); //true
				
	}
}


-------Console--------------
com.day10.Foo@1db9742
31168322
true
true

在这里插入图片描述

例四

在这里插入图片描述
在这里插入图片描述

package com.day10;

class Actor {
   
	public void act() {
   
		System.out.println("act");
	}
}
//Hero继承于Actor
class Hero extends Actor {
   
	public void fight() {
   
		System.out.println("fight");
	}
}


public class Day103 {
   
	public static void main(String[] args) {
   
		Hero h = new Hero();
		//act方法继承于Actor
		h.act();
		//fight方法继承于自己
		h.fight();
	}
}



-------Console--------
act
fight

在这里插入图片描述

例五

Object类位于java.lang包中,它定义和实现了所有类的通用功能。
例子:

package com.day10;

//演员
class Actor {
   
	public void act() {
   
		System.out.println("act");
	}
}
//英雄
//Hero继承于Actor
class Hero extends Actor {
   
	public void fight() {
   
		System.out.println("fight");
	}
}
//喜剧演员
class Comedian extends Actor {
   
	public void performComedy(){
   
		System.out.println("comedy");
		
	}
}


public class Day103 {
   
	public static void main(String[] args) {
   
		Hero h = new Hero();
		//act方法继承于Actor
		h.act();
		//fight方法继承于自己
		h.fight();		
		System.out.println(h instanceof Hero);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值