JAVA学习笔记二:类的继承、多态性
2014-11-12 19:12
351 查看
一、类的继承
①类的继承的概念
java类的继承可用下面的语句来表示
class 父类 //定义父类
{ }
class 子类
extends 父类
//用extends关键字实现类的继承
{ }
example:
<span style="font-size:18px;"> </span><span style="font-family:Times New Roman;font-size:14px;">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);
}
}</span>结果:我爱学习
当然还有多层继承(父类A)——(父类B)——(父类C)——子类,可用写成如下:
class A
{ }
class B extends A
{ }
class C extends B
[b]
{ }
[/b]
②super关键字的使用
[b]example:
[/b]
<span style="font-family:Times New Roman;font-size:14px;">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);
}
}</span>结果:我是:小明,今年:23岁,学校:UCAS
如果要限制子类继承父类的话,在父类中,可以用private申请私有变量。
二、类的多态性
直接用一个范例介绍多态性
<span style="font-family:Times New Roman;font-size:14px;">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();
}
}</span><span style="font-family:KaiTi_GB2312;font-size:18px;">
</span>结果为:我是小明,老师让我滚出去!
如果把Person p=new Person();改为Person
p=new Student();//这是优先利用子类Student中的函数。
结果为:我是小明,我让老师滚出去!
①类的继承的概念
java类的继承可用下面的语句来表示
class 父类 //定义父类
{ }
class 子类
extends 父类
//用extends关键字实现类的继承
{ }
example:
<span style="font-size:18px;"> </span><span style="font-family:Times New Roman;font-size:14px;">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);
}
}</span>结果:我爱学习
当然还有多层继承(父类A)——(父类B)——(父类C)——子类,可用写成如下:
class A
{ }
class B extends A
{ }
class C extends B
[b]
{ }
[/b]
②super关键字的使用
[b]example:
[/b]
<span style="font-family:Times New Roman;font-size:14px;">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);
}
}</span>结果:我是:小明,今年:23岁,学校:UCAS
如果要限制子类继承父类的话,在父类中,可以用private申请私有变量。
二、类的多态性
直接用一个范例介绍多态性
<span style="font-family:Times New Roman;font-size:14px;">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();
}
}</span><span style="font-family:KaiTi_GB2312;font-size:18px;">
</span>结果为:我是小明,老师让我滚出去!
如果把Person p=new Person();改为Person
p=new Student();//这是优先利用子类Student中的函数。
结果为:我是小明,我让老师滚出去!
相关文章推荐
- Java学习笔记:类在继承中的多态性
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- 学习Java.对于继承和多态的随堂笔记
- 黑马程序员学习笔记四——Java 面向对象 特点之 继承
- JAVA学习笔记(五)继承时的构造方法、多态、接口、汉诺塔
- Java学习笔记之六——Java类的继承和多态(2)
- Java构造函数的继承-Java 学习笔记 (14)
- java学习笔记《java面向对象编程》——继承
- JAVA 继承学习笔记
- java核心技术学习笔记7---继承与多态
- Java学习笔记——类与对象(封装、继承与多态)
- java学习笔记---第五章继承
- Java学习笔记---16.面向对象编程11-Java多态性,instanceof及Object类
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 第五章 继承(core java 卷1学习笔记)
- thinking in java 学习笔记(一) 接口于多重继承
- java学习笔记七——继承
- java学习笔记(二十一)继承
- Java学习笔记---类的继承与多态特性
- Java学习笔记之六——Java类的继承和多态(1)