java-继承入门

继承:
怎样理解继承:
多个类中含有相同的属性和方法,把这些行为和方法抽取出来至单独的一个类中,之前需要的多个类就不需要在定义这些行为和方法而只是需要继承那单独的一个类就可以了。(把多个类中的相同内容提取出来定义到一个类中)
实现方法:
关键字:extends

格式:
class 子类名 extends 父类名{}
我们把被继承的类称为父类,超类或者基类,要继承的类称为子类或者派生类。
子类通过继承拥有了父类的属性和方法,并且自己也可以定义新的属性和方法。

继承优点:
1-提高了代码的复用性。
2-提高了代码的维护性
3-让类与类之间产生了关系,可实现多肽。(同样也有弊端,类的耦合性很强。关系紧密相互影响)

开发的原则:低耦合,高内聚
耦合:类与类之间的关系
内聚:自己实现某件事情的能力

下面通过一个案例来简单了解继承:

继承前:

定义一个学生类:

package day08;

public class Student {
	public void eat(){
		System.out.println("吃饭!");
	}
	public void study(){
		System.out.println("学习!");
	}

	public void sleep(){
		System.out.println("睡觉!");
	}
}

定义一个老师类:

package day08;

public class Teacher {
	public void eat(){
		System.out.println("吃饭!");
	}
	public void study(){
		System.out.println("学习!");
	}
	public void sleep(){
		System.out.println("睡觉!");
	}
}

测试类:

package day08;

public class Demo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 创建学生类对象
		Student st = new Student();
		st.eat();
		st.study();
		st.sleep();
		//创建老师类对象
		System.out.println("*-*-*-*-*-*-*-*-*-*-*-*-*");
		Teacher tc = new Teacher();
		tc.eat();
		tc.study();
		tc.sleep();
	}

}

输出:

吃饭!
学习!
睡觉!
*-*-*-*-*-*-*-*-*-*-*-*-*
吃饭!
学习!
睡觉!

继承后:

定义一个父类person类

package day08;

public class Person {
	public void eat(){
		System.out.println("吃饭!");
	}
	public void study(){
		System.out.println("学习!");
	}
	public void sleep(){
		System.out.println("睡觉!");
	}
}
定义学生类:

package day08;

public class Student extends Person {
	
}

定义老师类:

package day08;

public class Teacher extends Person {
	
}

测试类:

package day08;

public class Demo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 创建学生类对象
		Student st = new Student();
		st.eat();
		st.study();
		st.sleep();
		//创建老师类对象
		System.out.println("*-*-*-*-*-*-*-*-*-*-*-*-*");
		Teacher tc = new Teacher();
		tc.eat();
		tc.study();
		tc.sleep();
	}

}

输出:

吃饭!
学习!
睡觉!
*-*-*-*-*-*-*-*-*-*-*-*-*
吃饭!
学习!
睡觉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值