云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 面向对象(高级)一

面向对象(高级)一

  • 62 次阅读
  • 3 次下载
  • 2025/7/12 16:26:07

System.out.println(\ } };

出现了以下的错误提示:

OODemo09.java:8: B 中的 print() 无法覆盖 A 中的 print();正在尝试指定更低的访问权限;为 public void print(){ ^ 1 错误 2、 代码二 class A{ void print(){

System.out.println(\ } };

class B extends A{ public void print(){

System.out.println(\ } };

权限扩大,可以 3、 代码三 class A{

private void print(){

System.out.println(\ } };

class B extends A{ void print(){

System.out.println(\ } };

以上的代码并不是真正的覆写,实际上在B类中此时,就相当于定义了一个新的方法。如果不清楚,可以观察以下代码: class A{

private void print(){

System.out.println(\ }

public void fun(){ print() ; } };

class B extends A{ void print(){

System.out.println(\ } };

public class OODemo12{

public static void main(String args[]){ B b = new B() ; b.fun() ; } };

在方法的覆写概念中,也可以使用super关键字,调用父类中的指定方法。 class A{

public void print(){

System.out.println(\ } };

class B extends A{ public void print(){ super.print() ;

System.out.println(\ } };

public class OODemo13{

public static void main(String args[]){ B b = new B() ; b.print() ; } };

3.4.2、属性也是可以覆写的

子类也可以覆写父类中的属性,只是此种操作一般不常见,代码如下: class A{

String name = \};

class B extends A{

String name = \ public void print(){

System.out.println(name) ; } };

public class OODemo14{

public static void main(String args[]){ B b = new B() ; b.print() ; } };

3.4.3、覆写的应用

使用覆写的概念修改之前的程序,是之前的程序变的更合理一些: class Person{

private String name ; private int age ;

public Person(String name,int age){ this.setName(name) ; this.setAge(age) ; }

public void setName(String name){ this.name = name ; }

public void setAge(int age){ this.age = age ; }

public String getName(){ return this.name ; }

public int getAge(){ return this.age ; }

public String getInfo(){

return \姓名:\,年龄:\ } };

class Student extends Person{ private String school ;

public Student(String name,int age,String school){ super(name,age) ;

this.setSchool(school) ; }

public void setSchool(String school){ this.school = school ; }

public String getSchool(){ return this.school ; }

public String getInfo(){

return super.getInfo() + \;学校:\ } };

public class OODemo15{

public static void main(String args[]){

Student s = new Student(\张三\北京大学\

System.out.println(s.getInfo()) ; } };

3.5、继承练习 3.5.1、练习一

定义员工类,具有姓名,年龄,性别属性,并具有构造方法,显示数据方法,定义管理层类,并有自己的属性:职务,年薪。定义职员类,并有自己的属性:所属部门,月薪。 class Employee{ private String name ; private int age ; private String sex ;

public Employee(String name,int age,String sex){ this.setName(name) ; this.setAge(age) ; this.setSex(sex) ; }

public void setName(String name){ this.name = name ; }

public void setAge(int age){ this.age = age ; }

public void setSex(String sex){ this.sex = sex ; }

public String getSex(){ return this.sex ; }

public String getName(){ return this.name ; }

public int getAge(){ return this.age ; }

public String getInfo(){

return \姓名:\,年龄:\,性别:\ } };

class Manager extends Employee{ private String job ; private float income ;

public Manager(String name,int age,String sex,String job,float income){ super(name,age,sex) ; this.setJob(job) ;

搜索更多关于: 面向对象(高级)一 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

System.out.println(\ } }; 出现了以下的错误提示: OODemo09.java:8: B 中的 print() 无法覆盖 A 中的 print();正在尝试指定更低的访问权限;为 public void print(){ ^ 1 错误 2、 代码二 class A{ void print(){ System.out.println(\ } }; class B extends A{ public void print(){ System.out.println(\ } }; 权限扩大,可以 3、 代码三 class A{ private void print(){ System.ou

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com