(1)设计一个商品数据类PClass,其中包含两个成员变量:商品编号(int pNumber)、单价(double pPrice);包含两个成员方法:显示编号showNumber()和显示单价showPrice();及两个构造函数PClass()和PClass(int number,double price)。
(2)设计一个完整的Java程序使用上题的类PClass,建立一个Pclass类的对象p,即PClass p=new PClass(1,1000.0)。然后使用showNumber()方法将商品编号显示出来,使用showPrice()方法将单价显示出来。我写的程序段如下:
可是老有错误,请各位指点: 谢谢…………public class  PClass 
{
int pNumber;
double pPrice;
int showNumber ( )                                                   
{
System.out.println("商品编号是:"+pNumber);
}
double showPrice ( )
{
System.out.println("价格是:"+pPrice);
}
PClass(){   }
void PClass(int number,double price)
{
pNumber=number;
 pPrice=price;
}
}public class  Show extends PClass
{
public static void main(String[] args) 
{
PClass p;
p=new PClass(1,1000.0);
p.showNumber();
p.showPrice(); }
}

解决方案 »

  1.   

    public class PClass
    {
    int pNumber;
    double pPrice;
    int showNumber ( )
    {
    System.out.println("商品编号是:"+pNumber);
    }
    double showPrice ( )
    {
    System.out.println("价格是:"+pPrice);
    }
    PClass(){ }
    void PClass(int number,double price)//void去掉 ,构造函数不用写这个
    {
    pNumber=number;
    pPrice=price;
    }
    }
      

  2.   

    java    源文件中要是有多个类,只允许有一个类是 public 类你改一下这两个类的修饰试试
      

  3.   

    class  PClass //多个类时只能有一个声名为public,且为带主方法的那个类
    {
    int pNumber;
    double pPrice;
    void showNumber ( )  //声名为void即可,不带返回类型                                                 
    {
    System.out.println("商品编号是:"+pNumber);
    }
    void showPrice ( )/同上
    {
    System.out.println("价格是:"+pPrice);
    }
    PClass(){   }
     PClass(int number,double price)//构造函数不带返回类型
    {
    pNumber=number;
     pPrice=price;
    }
    }public class  Show extends PClass
    {
    public static void main(String[] args) 
    {
    PClass p;
    p=new PClass(1,1000.0);
    p.showNumber();
    p.showPrice();}
    }
      

  4.   

    下面这样不就更直观了。
    用关键字:this.
    不要忘了,给上封装哦。=================================
    public class PClass
    {
    int Number;
    double Price;
    public int showNumber ( )
    {
    System.out.println("商品编号是:"+Number);
    }
    public double showPrice ( )
    {
    System.out.println("价格是:"+Price);
    }
    public PClass(){ }
    public PClass(int number,double price)
    {
    this.Number=number;
    this.Price=price;
    }
    }public class Show extends PClass
    {
    public static void main(String[] args)
    {
    PClass p;
    p=new PClass(1,1000.0);
    p.showNumber();
    p.showPrice();}
    }
      

  5.   

    构造函数不能加修饰,加上修饰后Java就把他当成普通方法处理了
      

  6.   

    第二个类只是为了测试第一个类,无需extends第一个类。
    只要在同一个包里,就可以调用得到第一个类了
      

  7.   

    还是有两个错误 帮帮忙
    E:\java>javac Show.java
    Show.java:1: 类 PClass 是公共的,应在名为 PClass.java 的文件中声明
    public class  PClass
           ^
    Show.java:28: 找不到符号
    符号: 构造函数 PClass(int,double)
    位置: 类 PClass
                    p=new PClass(1,1000.0);
                      ^
    2 错误
      

  8.   

    偶还是要纠正几个错误观点:
    1,构造函数加上public 没有影响,这个我实验过了
    2,PClass类里面的成员变量尽量设成private 提供公共接口就可以了
      

  9.   

    package com.xgss.test;public class PClass {
    private int pNumber;
    private double pPrice;

    public void showNumber() {
    System.out.println(pNumber);
    }

    public void showPrice() {
    System.out.println (pPrice);
    }

    PClass() {

    }
    PClass (int number ,double price) {
    this.pNumber=number;
    this.pPrice=price;
    }

    public static void main (String args[]) {
    PClass p = new PClass (1,1000.0);
    p.showNumber();
    p.showPrice();
    }
    }
      

  10.   

    如果你写成这样的话,我想很多人会更开心的。/**
     * Source PClass.java
     */public class PClass
    {
        private int pNumber;
        private double pPrice;    public PClass()
        {
            this(0, 0);
        }    public PClass(int number, double price)
        {
            this.pNumber = number;
            this.pPrice = price;
        }    public int showNumber()
        {
            return this.pNumber;
        }    public double showPrice()
        {
            return this.price;
        }
    }/**
     * Source PClassTest.java
     */public class PClassTest
    {
        public static void main(String... args)
        {
            PClass p = new PClass(1, 1000.0);
            System.out.println(p.showNumber());
            System.out.println(p.showPrice());
        }
    }