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 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) {
people pp1= 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("我是一个大人");
}
}
方法重载与重写详解
本文详细介绍了方法重载与重写的含义及其区别,并通过示例解释了自动转型与强制转型的概念。此外,还提供了关于多态性的理解示例。
246

被折叠的 条评论
为什么被折叠?



