面向对象(中)-继承性的理解、继承性的使用、继承性的再说明、Object类的理解
package top.qaqaq.java.P260;

public class Creature {
	
	public void breath() {
		System.out.println("呼吸");
	}

}
package top.qaqaq.java.P260;

public class Person extends Creature{

	String name;
	private int age;
	
	public Person() {
		
	}
	
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	
	public void eat() {
		System.out.println("吃饭");
		sleep();
	}
	
	private void sleep() {
		System.out.println("睡觉");
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	
}
package top.qaqaq.java.P260;

public class Student extends Person {
	
//	String name;
//	int age;
	String major;
	
	public Student() {
		
	}
	
	public Student(String name, int age, String major) {
		this.name = name;
//		this.age = age;
		setAge(age);
		this.major = major;
	}
	
//	public void eat() {
//		System.out.println("吃饭");
//	}
//	
//	public void sleep() {
//		System.out.println("睡觉");
//	}
	
	public void study() {
		System.out.println("学习");
	}

	public void show() {
		System.out.println("name:" + name + ",age:" + getAge());
	}
}
package top.qaqaq.java.P260;
/*
 * 	面向对象的特征之二:继承性	why?
 * 
 * 一、继承性的好处:
 * ① 减少了代码的冗余,提高了代码的复用性
 * ② 便于功能的扩展
 * ③ 为之后多态性的使用,提供了前提
 * 
 * 二、继承性的格式:class A extends B{}
 * 		A:子类、派生类、subclass
 * 		B:父类、超类、基类、superclass
 * 
 * 		2.1 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。
 * 			特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。
 * 			只是因为封装性的影响,使得子类不能直接调用父类的结构而已。
 * 
 * 		2.2 子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。
 * 			子类和父类的关系,不同于子集和集合的关系。
 * 			extends:延展、扩展
 * 
 * 三、Java中关于继承性的规定:
 * 		1. 一个类可以被多个子类继承。
 * 		2. Java中类的单继承性:一个类只能有一个父类
 * 		3. 子父类是相对的感念。
 * 		4. 子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类
 * 		5. 子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法
 * 
 * 四、	1. 如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类
 * 		2. 所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类
 * 		3. 意味着,所有的java类具有java.lang.Object类声明的功能。
 * 
 * 
 */
public class ExtendsTest {
	public static void main(String[] args) {
		
		Person p1 = new Person();
//		p1.age = 1;
		p1.eat();
		System.out.println("******************************");
		
		Student s1 = new Student();
		s1.eat();
//		s1.sleep();
		s1.name = "Tom";
		s1.setAge(10);
		System.out.println(s1.getAge());
		
		s1.breath();
		
		Creature c = new Creature();
		System.out.println(c.toString());
	}

}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇