都不准确,也许叫覆写更准确,要理解重载的概念,重载就是函数的名字相同而参数不同并且在同一个对象中。
如果将
class b extends a {
public void temp() {
System.out.println("hello world");
}
更改成
class b extends a {
public void temp(String a) {
System.out.println("hello world");
}
也许可以算是重载,因为b类继承了A的public void temp()函数,而b中有一个名字相同但是参数不同的函数。
如果将
class b extends a {
public void temp() {
System.out.println("hello world");
}
更改成
class b extends a {
public void temp(String a) {
System.out.println("hello world");
}
也许可以算是重载,因为b类继承了A的public void temp()函数,而b中有一个名字相同但是参数不同的函数。
class a
{
public void d()
{
System.out.println(1111);
}
}class b extends a
{
public void d()
{
System.out.println(222);
}
}重载:
class a
{
public void d()
{
System.out.println(1111);
} public void d(String s)
{
System.out.println(s + 222);
}
}不知道理解的对不.
overriding是在子类中,与父类中方法名相同、参数类型相同(包括参数类型和参数的顺序)、返回类型可以不同;
overriding也必须发生在子类中?在同一个类中可以吗?
我过载和重载总分不清谁是谁.呵呵.也不知道我上面的说错没?哪位指点一下?overloading是过载还是重载???是重载吧我觉得?学习....
overload:一个类中有许多同名method(参数不同),重载。
overloading 在子类中好像不行。
overriding:重载
overloading:过载
你的例子刚好写反了。
我记得中国鹰派是一黑客团体吧?
class a
{
public void d()
{
System.out.println(1111);
} public void d(String s)
{
System.out.println(s + 222);
}
}
overriding覆盖:就是说子类有一个method(子类)与父类中的一个method(父类)同名,返回类型可以不同,这时method(子类)将method(父类)给覆盖了,调用的是method(子类)
class a
{
public void d()
{
System.out.println(1111);
}
}class b extends a
{
public void d()
{
System.out.println(222);
}
}