JAVA学习笔记二:类的继承、多态性

一、类的继承

①类的继承的概念

    java类的继承可用下面的语句来表示

      class 父类                  //定义父类

        { }

      class 子类 extends 父类     //用extends关键字实现类的继承

         { }

example:       

  package projiect;
class Study
{
	String name;
}
class Hard extends Study
{
    String result;
}
public class test1 {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Hard s=new Hard();
		s.name="我";
		s.result="爱学习";
		System.out.println(s.name+s.result);
	}
}
结果:我爱学习

当然还有多层继承(父类A)——(父类B)——(父类C)——子类,可用写成如下:

      class A                  

        { }

      class B extends A     

         { }

              class C extends B 

        { }

super关键字的使用

example: 

package projiect;
class Person
{
	String name;
	int age;
	public String talk()
	{
		return "我是:"+this.name+",今年:"+this.age+"岁";
	}
}

class Student extends Person
{
	String school;

	public Student(String name,int age,String school)
	{
		super.name=name;
		super.age=age;
		System.out.print(super.talk());
		this.school=school;
	}
}
public class test1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student s=new Student("小明",23,"UCAS");
		System.out.println(",学校:"+s.school);
	}
}
结果:我是:小明,今年:23岁,学校:UCAS
如果要限制子类继承父类的话,在父类中,可以用 private 申请私有变量。

二、类的多态性

直接用一个范例介绍多态性

package projiect;
class Person
{
	public void talk1()
	{
		System.out.print("我是小明");
	}
	public void talk2()
	{
		System.out.print(",老师让我滚出去!");
	}
}
class Student extends Person
{
	public void talk3()
	{
		System.out.print("我是小明");
	}
	public void talk2()
	{
		System.out.print(",我让老师滚出去!");
	}
}
public class test1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Person p=new Person(); //优先用父类Person里面的函数
		p.talk1();
		p.talk2();
	}
}
结果为:我是小明,老师让我滚出去!

如果把Person p=new Person();改为Person p=new Student();//这是优先利用子类Student中的函数。

结果为:我是小明,我让老师滚出去!

你可能感兴趣的:(Java)