class Person
{
private String name;
private int age;
public void setName(String name)
{
this.name = name;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
public String say()
{
return "姓名:" + this.name + "年龄:" + this.age;
}
}
class Student extends Person
{
//
private String name;
//
private int age;
private String school;
//
public void setName(String name)
//
{
//
this.name = name;
//
}
//
public void setAge(int age)
//
{
//
this.age = age;
//
}
public void setSchool(String school)
{
this.school = school;
}
//
public String getName()
//
{
//
return this.name;
//
}
//
public int getAge()
//
{
//
return this.age;
//
}
public String getSchool()
{
return this.school;
}
public String say()
{
return "姓名:" + this.getName() + ",年龄:" + this.getAge() + ",学校:" + this.getSchool();
}
}
public class javaoo01
{
public static void main(String arg[])
{
Student s = new Student();
s.setName("张三");
s.setAge(30);
s.setSchool("MLDN人才培养础地");
System.out.println(s.say());
}
}
姓名:张三
,
年龄:
30,
学校:
MLDN
人才培养础地
class A
{
}
class B
{
}
class C extends A,B
{
}
//java只支持单继承,不允许多继承
//java允许有多层继承。java允许多层继承,而不能多重继承,一个子类只能有一个父类,一个父类可以有多个子类
class A
{
}
class B extends A
{
}
class C extends B
{
}
子类对象实例化的过程
子类对象实例化
---
à
父类无参构造函数
-----
à
子类构造函数
class A
{
public A()
{
System.out.println("1、public A() {}");
}
}
class B extends A
{
public B()
{
//
此处隐含一段码
super();
超类
System.out.println("2
、
pbulic B() {}");
}
}
public class javaoo01
{
public static void main(String args[])
{
B b = new B();
}
}
//1
、
public A() {}
//2
、
pbulic B() {}
方法的复写
注:子类复写父类的方法时,被复写的方法不能比父类拥有更严格的访问权限
覆写;
1
、方法名称完全一样,参数也要一样,在覆写之后子类调用的永远是覆写之后的方法
2
、覆写时子类方法的权限不能比父类拥有更严格的访问权限。覆写之后的根最好与父类中保持一致()
class A
{
void fun1()
{
System.out.println("* 1、A ---> public void fun1()");
}
}
class B extends A
{
public void fun1()
{
System.out.println("* 2、B ---> public void fun1()");
}
}
public class javaoo01
{
public static void main(String args[])
{
B b = new B();
b.fun1();
}
}
* 2
、
B ---> public void fun1()
权限:
三种:
1
、
public
:权限最大,任何人都可以访问
2
、默认(
default
);
仅次于
public
3
、
private :
权限最小,只能在一个类中访问