什么是重载?什么是覆盖?它们二者之间有怎样的区别与联系?
答案是:1)重载属于水平关系,也即同一个类中方法之间的关系;覆盖属于垂直关系,是父类和子类之间的关系。 2)重载是多个方法之间的关系;覆盖只能由一对方法或者只由一个方法产生关系。 3)重载要求参数列表可以是不同的;覆盖要求参数列表必须相同。
1)重载属于水平关系,也即同一个类中方法之间的关系;覆盖属于垂直关系,是父类和子类之间的关系。 2)重载是多个方法之间的关系;覆盖只能由一对方法或者只由一个方法产生关系。 3)重载要求参数列表可以是不同的;覆盖要求参数列表必须相同。 4)重载关系是根据调用时的实参表与形参表来选择方法体的;而覆盖关系中,调用方法体时根据对象的类型(对象对应存储空间类型)来决定的。
接口和抽象类的用法区别是什么?
答案是:接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
编写一个人类Person,其中包含姓名、性别和年龄的属性,包含构造方法以及显示姓名、性别和年龄的方法。再编写一个学生类Student,它继承Person类,其中包含学号属性,包含构造方法以及显示学号的方法。最后编写一个主类X5_3_5,包含
答案是:public class X5_3_5 { publicstatic void main(String[] args) { Students1=new Student("Zhangsan","Male",20,"102A"); Students2=new Student("Lisi","Female",18,"108S"); s1.show(); s1.showID(); s2.show(); s2.showID(); } } class Person{ Stringname; Stringsex; int age; publicPerson(String n,String s,int a){ name =n; sex =s; age =a; } voidshow(){ System.out.println("name:"+name); System.out.println("sex:"+sex); System.out.println("age:"+age); } } class Student extends Person{ StringsID; publicStudent(String n,String s,int a,String sid){ super(n,s,a); sID =sid; } voidshowID(){ System.out.println("sID:"+sID); } } 【运行结果】 name: Zhangsan sex: Male age: 20 sID: 102A name: Lisi sex: Female age: 18 sID: 108S
编一个程序,程序中包含以下内容:
一个圆类(Circle),包含:
属性:圆半径radius;常量:PI。
方法:构造方法;求面积方法area();求周长方法:perimeter()。
主类(X4_3
答案是:publicclassX3{publicstaticvoidmain(String[]args){Circlec1=newCircle(100);Circlec2=newCircle(200);System.out.println("c1.area()=" c1.area() "\tc1.perimenter()=" c1.perimeter());System.out.println("c2.area()=" c2.area() "\tc2.perimenter()=" c2.perimeter());}}classCircle{intradius;finaldoublePI=3.14;Circle(intr){radius=r;}doublearea(){returnPI*radius*radius;}doubleperimeter(){return2*PI*radius;}}[运行结果]c1.area()=31400.0c1.perimenter()=628.0c2.area()=125600.0c2.perimenter()=1256.0
不允许作为类及类成员的访问控制符是( )
Apublic
Bprivate
Cstatic
Dprotected
答案是:C
关于super的说法正确的是( )。
A是指当前对象的内存地址
B是指当前对象的父类对象的内存地址
C是指当前对象的父类
D可以用在main()方法中
答案是:B
有关类的说法,正确的是( )。
A类具有封装性,所以类的数据是不能被访问的
B类具有封装性,但可以通过类的公共接口访问类中的数据
C声明一个类时,必须使用public修饰符
D每个类中必须有main方法,否则程序无法运行
答案是:B
将类的成员的访问权限设置为默认的,则该成员被( )
A同一包中的类访问
B其他包中的类访问
C所有的类访问
D所有的类的子类访问
答案是:A
以下不是Object类的方法是( )。
Aclone()
Bfinalize()
CtoString()
DhasNext()
答案是:D
以下对封装描述正确的是( )。
A只能对一个类中的方法进行封装,不能对属性进行封装
B如果子类继承了父类,对于弗雷中进行封装的方法,子类仍可直接调用
C封装的意义不大,因此在编码时尽量不要使用
D封装的主要作用在于对外隐藏内部实现细
答案是:D
下面的java代码运行结果是( )。 import java.io.*; public class B{ public static void main(String [] args){ int i =12; System.out.prin
答案是:C
构造函数何时会被调用?( )
A创建对象时
B可以出现在非抽象类中
C是没有方法体的方法
D抽象类中的方法都是抽象方法
答案是:A
Java语言中,String str=”123456789”,System.out.println(str.indexOf(“5”)),输出结果是( )。
A6.0
B5.0
C4.0
D3.0
答案是:C
下面给定的代码, Public static void main (String [] args){ System.out.print(“Hello”+args[1]); } 从命令行中传参:people world nation ,该程序
答案是:D
下面说法不正确的是( )。
A
抽象类既可以做父类,也可以做子类
B
abstract和final能同时修饰一个类
C
抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口
D
声明为f
答案是:B
如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量?( )
A
不能引用,必须改名,使它们的名称不相同
B
在成员变量前加this,使用this访问该成员变量
C
在成员变量前加super,使用supe
答案是:B
定义外部类的类头时,不可用的关键字是( )。
A
public
B
final
C
protected
D
abstract
答案是:C
一个类实现接口的情况是( )。
A
一次可以实现多个接口
B
一次只能实现一个接口
C
不能实现接口
D
不一定
答案是:A
下列程序的运行结果是( )。
public class X5_1_2 extends x{
int ab(){
static int aa=10;
aa++;
System.out.println(aa
答案是:A
Java语言接口间的继承关系是( )。
A
单继承
B
多重继承
C
不能继承
D
不能继承
答案是:B
Java语言类间的继承关系是( )
A
单继承
B
多重继承
C
不能继承
D
不一定
答案是:A
区分类中重载方法的依据是( )
A
形参列表的类型和顺序
B
不同的形参名称
C
返回值的类型不同
D
访问权限不同
答案是:A
下面关于接口的说法中不正确的是( )。
A
接口中所有的方法都是抽象的
B
接口中所有的方法都是public访问权限
C
子接口继承父接口所用的关键字是implements
D
接口是Java中的特殊类,包
答案是:C
已知有下面类的说明:
public class X5_1_1 extends x{
private float f =10.6f;
int i=16;
static int si=10;
public stat
答案是:A
目前为:
1/1
页
首页 上页 下页 尾页