/*
两个类中,含有共性的内容:name、age-->
单独搞一个共性类:将学生和工人的共享描述提取出来,只要让学生和工人与单独描述的这个类有关系就可以了。
class Student
{
String name;
int age;
void study()
{
System.out.println("good study");
}
}
class Worker
{
String name;
int age;
void work()
{
System.out.println("good work");
}
}
*/
//共享类:学生和工人是子类,Person是父类
/*
继承:
1、提高了代码的复用性
2、让类与类之间产生了关系,有了这个关系,才有了多态的特性。
注意:千万不要为了获取其他类的功能,简化代码而继承。
必须是类与类之间有所属关系才可以继承,所属关系:is a;(谁是谁的一员)
例如:
class A extend C
{
//void demo1(){}
void demo2(){}
}
class B extend C
{
//void demo1(){}//继承之后,这句代码不用写。
void demo3(){}
}
class C
{
void demo1(){}
}
JAVA语言中:java只支持单继承,不支持多继承。
因为多继承容易带来安全隐患:当多个父类中定义了相同功能,
当功能内容不同时,子类对象不确定要运行哪一个。
但是java保留这种机制,并用另一种体现形式来完成表示,多实现。
java支持多层继承,也是一个继承体系
如何使用一个继承体系中的功能呢?
想要使用体系,先查阅体系父类的描述。因为父类中定义了该体系中的共性功能。
通过了解共性功能,就可以知道该体系的基本功能。
那么在具体调用时,要创建最子类的对象,为什么呢?
1、有可能父类不能创建对象,如抽象类、接口
2、创建子类对象可以使用更多的功能,包括基本的也包括特有的。
简单一句话:查询父类功能,创建子类对象使用功能。
例如:是不允许的
class C extends A,B
{}
main()
{
C c=new C();
c.show();
}
C c=new C();
c.show();
聚集:谁里面有谁,has a;
聚合:球员是球队中的一个,依赖性没组合强。
组合:手是人身体的一部分,互相依赖,互相影响
*/
class Person
{
String name;
int age;
}
class Student extends Person
{
void study()
{
System.out.println("good study");
}
}
class Worker extends Person
{
void work()
{
System.out.println("good work");
}
}
class ExtendsDemo//继承
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
两个类中,含有共性的内容:name、age-->
单独搞一个共性类:将学生和工人的共享描述提取出来,只要让学生和工人与单独描述的这个类有关系就可以了。
class Student
{
String name;
int age;
void study()
{
System.out.println("good study");
}
}
class Worker
{
String name;
int age;
void work()
{
System.out.println("good work");
}
}
*/
//共享类:学生和工人是子类,Person是父类
/*
继承:
1、提高了代码的复用性
2、让类与类之间产生了关系,有了这个关系,才有了多态的特性。
注意:千万不要为了获取其他类的功能,简化代码而继承。
必须是类与类之间有所属关系才可以继承,所属关系:is a;(谁是谁的一员)
例如:
class A extend C
{
//void demo1(){}
void demo2(){}
}
class B extend C
{
//void demo1(){}//继承之后,这句代码不用写。
void demo3(){}
}
class C
{
void demo1(){}
}
JAVA语言中:java只支持单继承,不支持多继承。
因为多继承容易带来安全隐患:当多个父类中定义了相同功能,
当功能内容不同时,子类对象不确定要运行哪一个。
但是java保留这种机制,并用另一种体现形式来完成表示,多实现。
java支持多层继承,也是一个继承体系
如何使用一个继承体系中的功能呢?
想要使用体系,先查阅体系父类的描述。因为父类中定义了该体系中的共性功能。
通过了解共性功能,就可以知道该体系的基本功能。
那么在具体调用时,要创建最子类的对象,为什么呢?
1、有可能父类不能创建对象,如抽象类、接口
2、创建子类对象可以使用更多的功能,包括基本的也包括特有的。
简单一句话:查询父类功能,创建子类对象使用功能。
例如:是不允许的
class C extends A,B
{}
main()
{
C c=new C();
c.show();
}
C c=new C();
c.show();
聚集:谁里面有谁,has a;
聚合:球员是球队中的一个,依赖性没组合强。
组合:手是人身体的一部分,互相依赖,互相影响
*/
class Person
{
String name;
int age;
}
class Student extends Person
{
void study()
{
System.out.println("good study");
}
}
class Worker extends Person
{
void work()
{
System.out.println("good work");
}
}
class ExtendsDemo//继承
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}