java吧 关注:1,272,663贴子:12,783,789
  • 8回复贴,共1

新人学到继承,求助。

只看楼主收藏回复

/*练习:
对给出的内容进行数据建模。
程序员:属性:姓名,工号,薪水;
方法:工作内容;
*/
abstract class Workers
{
private String name;//定义姓名
void setName(String name) //set封装
{
this.name=name;
}
String getName()//get封装
{
return name;
}
private String id;//定义工号
void setId(String id)//set封装
{
this.id=id;
}
String getId()//get封装
{
return id;
}
private double pay;//定义工资
void setPay(double pay)//set封装
{
this.pay=pay;
}
double getPay()//get封装
{
return pay;
}
abstract void working();
}
class CXY extends Workers //程序员继承员工
{
void working()
{
System.out.println(name+";"+id+";"+pay+";"+"写代码!");
}
}
class WorkDemo
{
public static void main(String[] args)
{
CXY c= new CXY();//创建程序员对象
c.setName("小明");
c.setId("0431233");
c.setPay(5826.33);
c.working();
}
}
执行之后就出现:
但是如果不用继承的话,直接写在CXY中,就OK。请问大神如何解啊。


IP属地:河南1楼2015-10-11 01:57回复
    难道CXY类,继承Workers类后,就不能访问private的内容了吗?


    IP属地:河南2楼2015-10-11 02:01
    回复
      2025-08-05 12:05:07
      广告
      不感兴趣
      开通SVIP免广告
      父类的public成员既可以在父类中使用,也可以在子类中使用。
      父类的private成员仅在父类中使用,在子类中不能访问。
      父类的protected成员可以被子类和同一包内的类所使用


      来自Android客户端3楼2015-10-11 03:10
      收起回复
        输出要用get方法


        IP属地:广东5楼2015-10-11 09:46
        收起回复
          System.out.println()中的name,id,pay换成了,getName(),getId(),getPay(),ok了。感谢朋友的帮助


          IP属地:河南来自Android客户端6楼2015-10-11 10:14
          回复