首页 > 编程知识 正文

java实验题目,java实验题

时间:2023-05-06 10:51:18 阅读:220787 作者:4701

1.定义一个Father和Child类,并进行测试。

要求如下:

Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。

2.简述下列程序运行结果: public class Test {public static void main (String[] args){A.Inner inner = new A().new Inner();inner.show();}}class A{int y = 6;class Inner{static int y = 3;void show(){System.out.print(y);}}}/** * 运行结果: * 运行出错: * 成员内部类中不能拥有静态变量,但可以访问外部静态域 */ 3.写出下面程序运行结果: public class Test {public static void main (String[] args){B b = new B();}}class A{public A(){System.out.println ("A");}}class B extends A{public B(){System.out.println ("B");}}

运行结果:

原因:类之间有继承关系时,要调用子类的构造方法,先调用父类的构造方法

4、打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

运行结果:

5.定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量

1)要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),
再通过GetXXX()和SetXXX()方法对各变量进行读写。具有一个抽象的play()方法,
该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。
2)从Role类派生出一个"Employee"类,该类具有Role类的所有成员(构造方法除外),
并扩展salary成员变量,同时增加一个静态成员变量“职工编号(ID)”。
同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play()方法,
并提供一个final sing()方法。
3)“Manager"类继承"Employee"类,有一个final成员变量"vehicle”
在main()方法中制造Manager和Employee对象,并测试这些对象的方法。

abstract class Role{private String name;private int age;private String sex;public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void setSex(String sex) {this.sex = sex;}public String getSex() {return sex;}public Role(){System.out.println ("Role 的无参构造");}public Role(String name, String sex, int age){this.age = age;this.name = name;this.sex = sex;}abstract void play ();}class Employee extends Role{private int salary;static int id;public Employee(){System.out.println ("Employee的无参构造");}public Employee(String name, String sex, int age, int salary, int id){super(name, sex, age);this.salary = salary;Employee.id = id;//static 关键字修饰的变量要用类名调用}final void Sing(){System.out.println (getName()+"在开心的唱歌!!!");}void play() {System.out.println(getName()+"在玩游戏");}public void setSalary(int salary) {this.salary = salary;}public int getSalary() {return salary;}}class Manager extends Employee{final String vehicle = "benchi";}public class Test{public static void main (String[] args){Manager mana = new Manager();Employee empl1 = new Employee();System.out.println (mana.vehicle);Employee empl2 = new Employee("fzdxmf", "男", 15, 11111, 007);empl2.play();empl2.Sing();}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。