帮我看下这个程序的子类

nbe01 2009-11-12 10:51:10

package P78.EX16;

class MyRectangle
{
private int Length,Width;
void setLength(int Length)
{
this.Length=Length;
}
void setWidth(int Width)
{
this.Width=Width;

}
int getWidth()
{
return Width;
}
int getLength()
{
return Length;
}
int getArea()
{
return Length*Width;
}
String tostring()
{


//String s=String.format("%d,%d",Length,Width);
//return s;这两种都可以实现 格式。
String s=Width+","+Length;
return s;
}


}
package P78.EX16;

class MySquare extends MyRectangle
{
private int Length;

int getArea()
{
return Length*Length;
}
String tostring()
{
String s=String.format("%d", Length);
return s;
}

}
package P78.EX16;

public class Mainclass
{
public static void main(String args[])
{
MyRectangle a=new MyRectangle();
a.setLength(3);
a.setWidth(2);
System.out.println(a.tostring());
System.out.println(a.getArea());
MyRectangle b=new MySquare();
b.setLength(8);
System.out.println(b.tostring());
System.out.println(b.getArea());
}

}


为什么 调用不了子类啊??? 程序运行后 子类那得东西都是0.
...全文
96 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbe01 2009-11-12
  • 打赏
  • 举报
回复
12# 的 1楼的是对的 可能我少打东西了 我在看看 呵呵、
nbe01 2009-11-12
  • 打赏
  • 举报
回复
感谢 1楼那大哥 我从新粘贴你的 代码 他就对了 自己手打的就不对 郁闷 不过确实的重新用写 setLength函数。谢谢了,结贴了。
zl3450341 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 nbe01 的回复:]
引用 1 楼 swandragon 的回复:
MyRectangle b=new MySquare();
b.setLength(8);
这里的setLength设置的是父类里的length
子类必须重写setLength方法才可以
Java codeclass MySquareextends MyRectangle
{
    privateint Length;
    void setLength(int Length)
    {
    this.Length=Length;
    }
    int getArea()
    {
    return Length*Length;
    }
    String tostring()
    {
        String s=String.format("%d", Length);return s;
    }

}



一楼的  这样不行啊
this.Length=Length; 这条代码他提示我 对Length赋值不能生效??
这是怎么会是?

[/Quote]

怎么无效? 可以自动生成get set 也无效?
代码上单击右键,进入source,选择其中的generate setter and getter
nbe01 2009-11-12
  • 打赏
  • 举报
回复
9楼的, 不是培训 我自己小看了下书。。。 不过 后来我补上了 setLength函数 也是不行
他告诉我 this.Length=Length 赋值不能生效 这个是怎么会是 。
还有10楼的 我会考虑你推荐的那本书的,现在是个大学老师就出本书,也不知道谁写的好还不过时。。。。
我感觉,代码淘汰的也太快了。。。 郁闷
gaomochi 2009-11-12
  • 打赏
  • 举报
回复
楼主要是想学JAVA,看本叫CORE JAVA的书吧,不难,规范,学校的书学不到东西的,还有些过时,经验之谈哦!
wifewifewife 2009-11-12
  • 打赏
  • 举报
回复


MyRectangle b=new MySquare();
b.setLength(8);


在MySquare里没有重写MyRectangle的setLength

是不是哪里培训的课外作业?课程讲得这么快。
nbe01 2009-11-12
  • 打赏
  • 举报
回复
啊。老师留的思考题,实质上,还没讲继承那,我提前看的书,但是书上不是用SET 和GET 函数做的。。。。。 这叫我很郁闷 老师叫我们用SET 和GET函数做
nbe01 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swandragon 的回复:]
MyRectangle b=new MySquare();
b.setLength(8);
这里的setLength设置的是父类里的length
子类必须重写setLength方法才可以
Java codeclass MySquareextends MyRectangle
{
privateint Length;
void setLength(int Length)
{
this.Length=Length;
}
int getArea()
{
return Length*Length;
}
String tostring()
{
String s=String.format("%d", Length);return s;
}

}



[/Quote]
一楼的 这样不行啊
this.Length=Length; 这条代码他提示我 对Length赋值不能生效??
这是怎么会是?
qingzhe2008 2009-11-12
  • 打赏
  • 举报
回复
LZ自己好好分析一下
ouyangyh 2009-11-12
  • 打赏
  • 举报
回复
这老师害人啊
连命名规范都没有学好
就开始学继承了
gaomochi 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 healer_kx 的回复:]
不要从矩形派生正方形。。。大忌。
http://www.cnblogs.com/healerkx/articles/1237412.html
[/Quote]
这个估计是楼主的作业吧,一开始老师要求的,练习继承..
healer_kx 2009-11-12
  • 打赏
  • 举报
回复
不要从矩形派生正方形。。。大忌。
http://www.cnblogs.com/healerkx/articles/1237412.html
gaomochi 2009-11-12
  • 打赏
  • 举报
回复
为什么不给正方形矩形类类设置一个构造方法
不然默认的构造方法会给所有域自动赋上初值
而且正方形类不用再另外覆盖那个域,直接用length不就可以了么
swandragon 2009-11-12
  • 打赏
  • 举报
回复
MyRectangle b=new MySquare();
b.setLength(8);
这里的setLength设置的是父类里的length
子类必须重写setLength方法才可以

class MySquare extends MyRectangle
{
private int Length;
void setLength(int Length)
{
this.Length=Length;
}
int getArea()
{
return Length*Length;
}
String tostring()
{
String s=String.format("%d", Length);
return s;
}

}



[14本经典Android开发教程] 2 Android开发手册 API函数详解 一 TextView的API 1 1 结构 java lang Object android view View android widget TextView 直接子类: Button CheckedTextView Chronometer DigitalClock EditText 间接子类: AutoCompleteTextView CheckBox CompoundButton ExtractEditText MultiAutoCompleteTextView RadioButton ToggleB utton 已上传1本: [14本经典Android开发教程] 1 Android开发从入门到精通 稍后上传剩余12本 http: download csdn net detail cleopard 8355245 @更多@ http: cleopard download csdn net 福利 http: xuemeilaile com @更多@ http: download csdn net user cleopard album 17份软件测试文档 http: download csdn net album detail 1425 13份WPF经典开发教程 http: download csdn net album detail 1115 C#资料合辑二[C#桌面编程入门篇] http: download csdn net album detail 957 C#资料合辑一[C#入门篇] http: download csdn net album detail 669 [Csharp高级编程 第6版 ] 共8压缩卷 http: download csdn net album detail 667 10个[精品资源]Java学习资料合辑[一] http: download csdn net album detail 663 10个C#Socket编程代码示例 http: download csdn net album detail 631 6份GDI+程序设计资源整合[全零分] http: download csdn net album detail 625 2014年移动游戏行业数据分析 http: download csdn net detail cleopard 8340331 一文读懂2014年全球互联网广告新生态 http: download csdn net detail cleopard 8340303">[14本经典Android开发教程] 2 Android开发手册 API函数详解 一 TextView的API 1 1 结构 java lang Object android view View android widget TextView 直接子类: Button CheckedTextView Chronometer DigitalClock EditText 间接子类: AutoCompleteTextView CheckBox CompoundBu [更多]

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧