方法的重载与重写,自动转型与强制转型,多态的理解
1.方法的重载与重写?两者都是对于函数的操作,区别在于重载是在同一个作用域里定义多个同名,但参数类型和数量不同的方法,又名方法签名不同,就好像是两个同名的人一样;重写是存在于父类与子类之间的,子类重写父类中的方法,实现子类自己所需的功能,打个比方,儿子继承了父亲的卡车,原来是装货的,但现在儿子用它来拉人如:
///////////////////////////////////重载
Public void study(){}
Public void study(int hour){}
Public viod study(int hour,string name){}
//////////////////////////////////////重写
Class father{public void car(){拉货}}
Class son extends father{ public void car(){拉人}}
2.自动转型与强制转型?
自动转型与强制转型存在于很多情形,如不同数据类型之间的转化:
如byte a=1; int b=a;//可以直接进行转型,即自动转型
int c=0;byte d =(byte)c; //不能直接转型必须进行强制装转换
也存在于父类与子类之间如 father f=new son();// son继承father 可以自动转型
son s= (father)f;//father 是父类,需要强制转换,而且这种转换也不安全,不建议使用
3.多态的理解?
////////////////////////测试部分
public class Testpeople {public static void main(String[] args) {peoplepp1= new adult();pp1.showMessage();people pp2 = new children();pp2.showMessage();}}////////////////////////基类public class people {public void showMessage(){System.out.println("我是一个普通人");}}//定义一个小孩类public class children extends people{public void showMessage(){System.out.println("我是一个小孩");}}//定义一个大人类public class adult extends people{public void showMessage(){System.out.println("我是一个大人");}}
页:
[1]