| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1459 人关注过本帖
标题:关于接口的问题,请各位高手帮我看一下这个程序那里出错了,谢谢
只看楼主 加入收藏
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
 问题点数:0 回复次数:10 
关于接口的问题,请各位高手帮我看一下这个程序那里出错了,谢谢
import java.awt.*;
interface rect {
    double area();
    double getWidth();
    double getHeight();
    double getLocation();
}
import java.awt.*;
 class Rectangle1 implements rect {
    Point p = new Point();
    double width,height;
    int x,y;
    
    public Rectangle1 (double w,double h,int i1,int i2)    {
        width = w;
        height = h;
        x = i1;
        y = i2;
        }
        
    public double area() {
        return width * height;
        }
        
    public  double getWidth() {
        return width;
        }
        
    public double getHeight() {
        return height;
        }
    public Point getLocation() {
        p.x = x;
        p.y = y;
        return p;
        }    
}    

public class Rect {
    public static void main (String [] args)    {
        Rectangle1 rc = new Rectangle1(2.3,8.0,1,2);
        System.out.println(rc.area());
        System.out.println(rc.getWidth());
        System.out.println(rc.getHeight());
        System.out.println((rc.getLocation()).x + (rc.getLocation()).y);
        }
    }
搜索更多相关主题的帖子: 接口 
2008-10-16 14:39
cqusnail
Rank: 1
等 级:新手上路
威 望:1
帖 子:50
专家分:0
注 册:2008-9-5
收藏
得分:0 
getLocation() 的返回类型不匹配
2008-10-16 17:27
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
得分:0 
我试着改返回值类型了,但还是跑不起来,请哪问高手帮忙改一下,我这位新手不胜感激
2008-10-18 01:59
cqusnail
Rank: 1
等 级:新手上路
威 望:1
帖 子:50
专家分:0
注 册:2008-9-5
收藏
得分:0 
import java.awt.*;

接口前和接口后各导入了一次,建议把后面那条删掉。

你创建了一个rect 的接口和 Rect的类,但是编译过后它们都生成的是rect.class.
这里就会出现问题了,我试了一下,把接口的名字改了后就可以运行了。

提醒一下,你输出的最后一行是X坐标和Y坐标想加的值。
2008-10-18 10:18
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
写成虚拟内吧。

倚天照海花无数,流水高山心自知。
2008-10-18 12:25
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
接口是要吧类中的函数全部重构,要不就编程抽象类了。。。抽象类还是不可以实例的。。而且不能有构造函数。。。所以很麻烦

学习需要安静。。海盗要重新来过。。
2008-10-19 09:48
cjycom
Rank: 1
来 自:广东汕头
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-9-20
收藏
得分:0 
接口中方法getLocation()的返回值类型应该是改为Point
然后,接口名rect和类名Rect最好不要这样取相同的,我在ECLIPSE里试了一下。提示名字冲突。

尊重别人,尊重自己!
2008-10-19 15:45
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
得分:0 
谢谢各位大侠的提点,我试过了,但还是编译不通过,不过我一定不会放弃的。
2008-10-19 23:57
cjycom
Rank: 1
来 自:广东汕头
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-9-20
收藏
得分:0 
晕..怎么编译不通过呢?
//IRect.java
package com.j2se;

import java.awt.*;
public interface IRect {
    double area();
    double getWidth();
    double getHeight();
    Point getLocation();
}

//Rectangle1.java
package com.j2se;

import java.awt.*;
class Rectangle1 implements IRect {
    Point p = new Point();
    double width,height;
    int x,y;
   
    public Rectangle1 (double w,double h,int i1,int i2)    {
        width = w;
        height = h;
        x = i1;
        y = i2;
        }
        
    public double area() {
        return width * height;
        }
        
    public  double getWidth() {
        return width;
        }
        
    public double getHeight() {
        return height;
        }
    public Point getLocation() {
        p.x = x;
        p.y = y;
        return p;
        }   
}   

public class Rect {
    public static void main (String [] args)    {
        Rectangle1 rc = new Rectangle1(2.3,8.0,1,2);
        System.out.println(rc.area());
        System.out.println(rc.getWidth());
        System.out.println(rc.getHeight());
        System.out.println((rc.getLocation()).x + (rc.getLocation()).y);
        }
    }

尊重别人,尊重自己!
2008-10-20 22:30
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
得分:0 
调试了很久,终于可以编译了,真的很感谢你们!
2008-10-21 02:38
快速回复:关于接口的问题,请各位高手帮我看一下这个程序那里出错了,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.073933 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved