9.20 java继承

package liu0920;
//继承
public class Person {
	//属性  姓名和年龄
	private String name;
	private  int age;
	
	//无参构造方法
//	public Person()
//	{
//		
//	}
	public Person(String name)
	{
		System.out.println("实例化父类=李四");
		this.name=name;
	}
	
	
	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;
	}
	public String getInfo()
	{
		return "name:"+name+"age:"+age;
	}
	
}

  

package liu0920;

//学生,做为人的子类
//extends继承
//1.java 支持单继承,不支持多继承:子类只能有一个父类,父类可以有多个子类
//2.子类自动继承父类公开的成员
//3.子类不能继承父类私有的成员和构造方法
//4.子类可以扩展定义自己的成员
//5.java.lang.objuct是所有类的根父类
public class Student extends Person{
    //属性
	private String  school;
	//构造方法
	public Student()
	{
		//首先要去实例化父类,默认调用父类的默认的无参的构造方法
		//显示调用父类的构造方法,必须在代码的第一句
		super("李四");//实例化父类
		System.out.println("实例化子类");
	}
	
	//成员方法
	public String getSchool() {
		return school;
	}
	public void setSchool(String school) {
		this.school = school;
	}
	//方法的重写 覆盖
	//1.必须和父类的方法具有相同的方法名称,参数列表和返回值类型
	//2.子类的覆盖方法不能有比父类的更严格的访问权限控制(权限修饰符)
	public String getInfo()
	{
		//子类调父类方法
		//super 代表父类的实例
		return "父类的信息:"+super.getInfo()+"子类的信息school="+school;
	}
	
}

  

package liu0920;

public class Ceshi_person {

	public static void main(String[] args) {
		//测试继承
		//父类
//		Person p=new Person();
//		p.setName("张三");
//		p.setAge(30);
//		System.out.println("人的信息是"+p.getInfo());
//		
		//子类
		
		Student s=new Student();
		//s.setName("小明");
		s.setAge(20);
		s.setSchool("清华大学");
		System.out.println("学生的信息是"+s.getInfo());
		
	}

}

  

 

posted @ 2016-09-20 20:34  琢磨先生  阅读(211)  评论(0编辑  收藏  举报
AmazingCounters.com