class Base{
public void hello(){
System.out.print("Hello in Base");
}
}
class Sub extends Base{
public void hello(){
System.out.print("Hello in Sub");
}
public void hello(){
System.out.print("Welcome in Sub");
}
}
public static void main(String[] args)
{
Base b=new Sub();
b.hello();
b.welcome();
}
怎么改???????
有几种方法????????
public void hello(){
System.out.print("Hello in Base");
}
}
class Sub extends Base{
public void hello(){
System.out.print("Hello in Sub");
}
public void hello(){
System.out.print("Welcome in Sub");
}
}
public static void main(String[] args)
{
Base b=new Sub();
b.hello();
b.welcome();
}
怎么改???????
有几种方法????????
解决方案 »
- Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,怎么办
- 球Java2图形设计电子书(我不要代码,也不要纯代码版的,已经有了)
- 有int i = 2;为什么 i >> 32 == 2? i 的值并没有改变呢???
- 求助!!!!在线等!!!
- java.lang.NullPointerException报错【菜鸟上路】
- 请问哪位大哥有有关swing的书籍或资料,最好是ebook,谢谢
- 真郁闷.昨天打赌输了.德国1:1平荷兰了..有段代码请大侠帮忙看一下.
- 如何获得JList的鼠标单击和键盘回车事件
- java访问oracle数据库时的一个小问题
- 这个错误和解(100分)
- 环境变量
- 正则表达式
因为你用一个Base类来接一个子类的实例
就相当于把子类抽象了一层, 所以调用不到子类的方法
public void hello(){
System.out.print("Hello in Base");
}
}
class Sub extends Base{
public void hello(){
System.out.print("Hello in Sub");
}
public void welcome(){
System.out.print("Welcome in Sub");
}
}
public static void main(String[] args)
{
Base b=new Sub();
b.hello();
b.welcome();
}
怎么改???????
有几种方法????????
class Base{
public void hello(){
System.out.print("Hello in Base");
}
public void welcome(){}
}
class Sub extends Base{
public void hello(){
System.out.print("Hello in Sub");
}
public void welcome(){
System.out.print("Welcome in Sub");
}
public static void main(String[] args){
Base b=new Sub();
b.hello();
b.welcome();
}
Base b=new Sub();
“is a”的问题,b只能调用Base中定义的方法,当调用的方法在其派生类被覆盖,实际上是调用覆盖的方法
public void hello() {
System.out.print("Hello in Base");
} public void welcome() {
System.out.print("Welcome in Base");
}
} class Sub extends Base {
public void hello() {
System.out.print("Hello in Sub");
} public void welcome() {
System.out.print("Welcome in Sub");
}
} public static void main(String[] args) {
Test1.Base b = new Test1().new Sub();
b.hello();
b.welcome();
}
首先是像楼上的说的那样要在Base类中写个welcome()方法,其次是内部类的声明方式得注意下哦
另外你这里父类的方法hello()被子类的方法覆盖了.这就体现了java的多态性,
一个方法可以有多种实现形式.
至于怎么该方法很多也不知道你具体要问什么啊?
如5楼 修改 可以,但是否达到你要的那个意思???