6.声明一个具有final方法的类,声明一个派生类,并试图对这个方法进行重写,会有什么结果。 //A类 public class A { } //B类
public class B extends A{ } //测试类
public class test4_6 {
public static void main (String args[]) { }
B b = new B(); b.showTime(); public void showTime() { }
System.out.println (\类B中方法\public final void showTime() { }
System.out.println (\类A中方法\
}
运行结果:
(说白了就是B中showTime()的无法覆盖A中showTime(),被覆盖为
7.声明一个final类,并试图声明其派生类,会有什么结果。//A类
public final class A { } //B类
public class B extends A{ } //测试类
public class test4_7 { public static void main (String args[]) { B b = new B();
}
final,不能覆盖。)
}
运行结果:
(说白了就是无法从A中进行继承)
8.什么是抽象类?抽象类中是否一定要包括抽象方法?
答:抽象类是一个不完全的类,不能使用new方法进行实例化。
抽象类可以包含抽象方法,也可以不包含抽象方法,但有抽象方法的必须是抽象类。
9.this和super分别有哪些特殊含义?都有哪些种用法? 答:this 表示当前类;super 表示调用父类。
在定义类的时候用到,this是当前对象的引用,super是当前对象的父类对象的引用,一般的都是把super用在构造函数中。
10.完成下面父类及子类的声明:
(1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。方法包括构造方法、get方法、 set方法、toString方法、equals方法、compare方法(比较两个学生的总成绩,结果分为大于、小于、等于),sum方法(计算总成绩)和testScore方法(计算评测成绩)。
注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此,在每一个set方法中应调用sum方法计算总成绩。 public class Student{
String id; String name; float scoreOfenglish; float scoreOfmath; float scoreOfcomputer; float scoreOfsum; //构造方法 public Student(){ }
public Student(String aid,String aname,float ascoreOfenglish,float ascoreOfcomputer){ this.id=aid; this.name=aname;
this.scoreOfenglish=ascoreOfenglish; this.scoreOfmath=ascoreOfmath; this.scoreOfcomputer=ascoreOfcomputer;
//this.scoreOfsum=ascoreOfenglish+ascoreOfmath+ascoreOfcomputer; this.scoreOfsum=sum(); }
//sum方法 public float sum(){
return(this.scoreOfenglish+this.scoreOfmath+this.scoreOfcomputer); }
//testScore测评成绩/平均分
ascoreOfmath,float
public float testScore(){ return(this.scoreOfsum/3); }
//6个get方法 public String getid(){ return(id); }
public String getname(){ return(name); }
public float getscoreOfenglish(){ return(scoreOfenglish); }
public float getscoreOfmath(){ return(scoreOfmath); }
public float getscoreOfcomputer(){ return(scoreOfcomputer); }
public float getscoreOfsum(){ return(scoreOfsum); }
//5个set方法
public void setid(String newid){