黑马程序员技术交流社区
标题:
Java基础 关于继承类和抽象类
[打印本页]
作者:
孟卫严
时间:
2015-7-12 21:16
标题:
Java基础 关于继承类和抽象类
1、为什么要继承其他类?
首先我们要搞清楚类里都有什么?
类里包括了属性和行为;
你只要写了属性和行为,那么总有一部分人拥有相同的属性和方法
如:
学生和老师都拥有姓名、年龄、身高、性别等属性;
学生和老师都要吃饭、睡觉、休息等行为;
如果我们每写一个学生类和老师类都要重复定义
姓名、年龄、身高、性别等属性;
吃饭、睡觉、休息等行为;
我们需要一遍一遍的private name、age、high,eat()、sleep()、rest()等
所以我们先写一个类这个包含学生和老师的这些共性
然后我们继承他就可以直接用,不用我们写了。
代码如下:
class Person{
private String name;
private int age;
private int high;
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
class Student extends Person{
//这样学生就不用写,就拥有了Person里的属性和行为,
//简化了代码的书写量和提高了代码的复用性,
//但是打破了方法的封装性
}
class Teacher extends Person{
}
class Demo3 {
public static void main(String[] args) {
Student s = new Student();
s.eat();
}
}
复制代码
2、为什么要有抽象类?
把一个类抽象化,其实主要的功能是不让这个类创建对象,要用这个类里面的属性和行为必须进行覆盖,才能使用,
注:抽象类里面的所有东西都可以用继承来实现,不用纠结为什么要有抽象类这个问题了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2