继承,转型,重写,多态性

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();
					
	}	

}
 

猜你喜欢

转载自csu-ningman.iteye.com/blog/1490797
今日推荐