/*
1、什么是继承?
那我们的日常生活当中来说,继承相当于一个种族的繁衍,相当于后代继承前代的所有东西并且加上自己的创造的功能。而放在面向对象这一编程来说,我认为是
实现一个类的更加的具体化。我们知道类本身就是一个很抽象的概念。例如:人类这个概念的范围是很大的。人类之中又有很多的小的具体的分类。例如学生、老师、
行政长官,他们都是属于人类的,只不过继承了人类的基本的属性而已,但是他们都会有一些属于自己的功能。学生需要上学这一行为,老师需要教书这一行为。。。。。。
2、为什么需要继承?
因为继承能够我们的代码带来更好的可读性和重用性。就拿世界万物来说,难道我们需要定义数不清的类来实现我们所想要的功能。
这样的话我们的代码很冗杂并且可读性差,难维护。
3、继承带给了我们什么?
可以用最小量的代码实现一个更加具体的内容所附带的功能。
/
/
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getInfo() {
return "姓名:" + this.name + " 年龄:" + this.age;
}
}
class Student extends Person {
private String school;
public Student(String name, int age, String school) {
super(name,age);
this.school = school;
}
public String getInfo() {
return super.getInfo() + " 学校:" + this.school;
}
}
//由于学生也是人,所以只需要增添学生的学校这一属性就可以实现学生所具有的特性。大大的减少了代码量
public class Hello {
public static void main(String args[]) {
Student student = new Student("杨申",20,"清华大学");
System.out.println(student.getInfo());//姓名:杨申 年龄:20 学校:清华大学
}
}
//子类对象的实例化
//子类实例化的过程中首先会将父类先实例化。就好比在日常的生活之中,儿子出生的前提条件为必须要有父亲,如果你的父亲都没有出生
//就有你这儿子,那么这个世界将会是什么样子的呢!
class Person {
public Person() {
System.out.println("父类实例化");
}
}
class Student extends Person {
public Student() {
System.out.println("子类实例化");
}
}
//也就是说现有父类才有子类
public class Hello {
public static void main(String args[]) {
Student student = new Student();//父类实例化
//子类实例化
}
}
//但是对于父亲的私有属性子类是没有权限访问的。只能通过setter,getter访问。就好比在现实生活之中,父亲也有属于自己的私人空间,是不想对别人开放的。



