Java实战入门小结——02
一:继承
1.通过extent关键字定义一个子类继承父类中的属性和方法
2.通过继承父类可以: a.减少重写代码的麻烦 b.真实形象表现现实中相似事物之间的关系
二:转型
1.自动转型——子类对象可以自动转化为父类类型
2.强制转型——通过类名称强制变换将子类转化为父类类型
三:方法的重写——子类可以根据实际情况改写其方法和属性,即生成一个方法定义一样,方法体不一样的特有的方法
四:多态性
当子类改写父类中方法后,调用对象时调用的是子类还是父类中的方法,取决于对象本身的类型,即new的是什么
以下是代码的示例:
Student主类
package cjl.extend0419;
/**
* 学生类
*
* @author NingMan
*
*/
public class Student {
/**
* 学生的名字属性
*/
public String name;
/**
* 设置学生名字的方法
*
* @param name
* 要设置为名字的字符串
*/
public void setName(String name) {
this.name = name;
}
/**
* 学习的方法
*/
public void study() {
System.out.println(name + "在学习");
}
}
UNSStudent子类
public class UNStudent extends Student{
/**
* 大学生特有的方法
*/
public void cet4(){
System.out.println(name+"正在考试四级");
}
//重写学习的方法
//方法的定义一样,方法体不一样
public void study(){
System.out.println(name+"是大学生,有大学生的学习方法");
}
}
public static void main(String args[]){
//创建学生对象
Student stu1 = new Student();
stu1.setName("张三");
stu1.study();
//创建大学生对象
UNStudent stu2 = new UNStudent();
stu2.setName("李四");
//3.如果子类重写了父类的方法,则子类对象会调用重写之后的方法
stu2.study();
//自动转型:子类对象的类型可以自动转成父类类型
Student stu3 = new UNStudent();
stu3.setName("宁曼");
stu3.study();
stu3.cet4();
//强制转型
UNStudent stu4 = (UNStudent)stu3;
stu4.cet4();
}
}