(1)继承
示例:
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
System.out.println("name="+stu.getName()+",age="+stu.getAge());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
}
结果:name=张飒,age=12
总结:我们可以发现子类可以直接继承父类的操作,也就是实现代码的重用,并且子类最低可维持和父类相同的功能。
示例:子类进行扩充
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
stu.setSchool("加里敦大学");
System.out.println("name="+stu.getName()+",age="+stu.getAge()+",scool="+stu.getSchool());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
private String school;
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
}
结果:name=张飒,age=12,scool=加里敦大学
(2)继承的限制
1,子类对象在进行实例化对象之前,一定会首先实例化父类对象,默认调用父类的构造方法后,再调用子类的构造方法进行子类对象实例化。
public class Test {
public static void main(String[] args)
{
new Student();//实例化对象
}
}
class Person
{public Person()
{
System.out.println("父类构造方法");
}
}
class Student extends Person{
public Student()
{
System.out.println("子类");
}
}
结果:
父类构造方法
子类
总结:子类对象的实例化一定会同时实例化父类的对象,
2,java中只允许单继承,不允许多继承。可以多层继承
eg:多层继承:class B extends A
class C extends B
3, 继承的时候,子类会继承父类的所有结构。所有的非私有操作属于显示继承(可直接调用),所有的私有操作属于隐士继承(通过其它形式进行调用 ,如setter,getter)。
4 子类所能使用的只能是父类的public操作,所有的private操作无法直接使用所以称为隐士继承。
示例:
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
System.out.println("name="+stu.getName()+",age="+stu.getAge());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
}
结果:name=张飒,age=12
总结:我们可以发现子类可以直接继承父类的操作,也就是实现代码的重用,并且子类最低可维持和父类相同的功能。
示例:子类进行扩充
public class Test {
public static void main(String[] args)
{
Student stu=new Student();//实例化对象
stu.setName("张飒");
stu.setAge(12);
stu.setSchool("加里敦大学");
System.out.println("name="+stu.getName()+",age="+stu.getAge()+",scool="+stu.getSchool());
}
}
class Person
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person{
private String school;
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
}
结果:name=张飒,age=12,scool=加里敦大学
(2)继承的限制
1,子类对象在进行实例化对象之前,一定会首先实例化父类对象,默认调用父类的构造方法后,再调用子类的构造方法进行子类对象实例化。
public class Test {
public static void main(String[] args)
{
new Student();//实例化对象
}
}
class Person
{public Person()
{
System.out.println("父类构造方法");
}
}
class Student extends Person{
public Student()
{
System.out.println("子类");
}
}
结果:
父类构造方法
子类
总结:子类对象的实例化一定会同时实例化父类的对象,
2,java中只允许单继承,不允许多继承。可以多层继承
eg:多层继承:class B extends A
class C extends B
3, 继承的时候,子类会继承父类的所有结构。所有的非私有操作属于显示继承(可直接调用),所有的私有操作属于隐士继承(通过其它形式进行调用 ,如setter,getter)。
4 子类所能使用的只能是父类的public操作,所有的private操作无法直接使用所以称为隐士继承。