java题求解!!
答案是A和C为什么另外B和D为什么错publicclassBlip{protectedintblipvert(intx){return0;}}classVertexten...
答案是 A 和C 为什么 另外 B和D为什么错
public class Blip {
protected int blipvert(int x){
return 0;
}
}
class Vert extends Blip{
//插入代码
}
A.public int blipvert (int x){
return 0;
}
B.private int blipvert (int x){
return 0;
}
C.private int blipvert(long x){
return 0;
}
D.protected long blipvert(int x){
return 0;
} 展开
public class Blip {
protected int blipvert(int x){
return 0;
}
}
class Vert extends Blip{
//插入代码
}
A.public int blipvert (int x){
return 0;
}
B.private int blipvert (int x){
return 0;
}
C.private int blipvert(long x){
return 0;
}
D.protected long blipvert(int x){
return 0;
} 展开
展开全部
代码大都应该会写,题目会变。重要的是基础理解和思路。
如果这样的题目还写不出来,那就是理解不到位,基础不牢固
基础知识
1.关于类成员
类的成员就2种:
成员变量和成员函数。
成员变量又称属性或者字段(java的API中可以见到),
成员函数又包括构造函数(又称构造方法,构造器)和普通函数(普通方法)
构造函数没有返回类型,函数名与类名必须相同,这是与普通方法的主要区别。
拿第一题来说:
员工 Employee 类:属性+函数(构造函数和普通函数)
属性:姓名name,年龄age,性别sex,一般设置为私有,实际开发也是这样,主要是为了数据的安全,不能随意访问。
属性私有化改变了属性的访问操作方式:如果属性没有私有化,在其它类,如测试类中可以以类名 . 属性直接访问属性;而私有化后,类名 . 属性的访问方式失效,必须提供set,get函数分别来给属性赋值,获取属性值
set函数要传入参数,利用当前类的对象this(注:有了this就可区分同名的形参、属性,有this的是属性)来动态地赋值,赋值后属性在本类内共享,通过get函数返回属性即可获得它的值。
set,get函数是普通函数,为了规范化,命名为setName等形式
2.关于类间的单继承
java类与类之间只支持单继承,可以多层继承.
多层继承通过同一类的继承与被继承等的方式实现:
如 类A: class A extends B
class C extends A
那么类C实现了多层继承。
继承的关键字extends
位置:出现在子类名(前)和父类名(后)之间
有了extends,就有了子类和父类的说法
子类:继承的类
父类:被继承的类
那么继承关系下,子类就拥有(共享)父类的非私有成员(包括属性和方法),也就是可以直接访问操作父类成员。
子类成员的构成:
父类非私有成员(super)+当前子类成员(this)
(非私有成员:父类中public、protected、无访问权限修饰符的成员)
如public Employee{
String name="我是父类";
int age;
char sex;
}
public Manager extends Employee{
String name =“子类属性”;//继承关系下的同名
String position =”经理“;//职位
String annualsalary;//年薪
//构造函数
Manager(){
super();
//this 为当前类对象,子类对象
syso (“当前类name ”:+this.name);
//super为父类对象,继承过来的
syso (“当前类访问父类name ”:+super.name);
//注:当前类访问时,当且仅当父类与子类具有同名成员时须用this,super对成员加以区分
不同名则不需要区分,隐式指定,结果都一样;
}
}
main(){
Manager m=new Manager();
}
运行结果:
当前类name :我是子类
当前类访问父类name :我是父类
如果这样的题目还写不出来,那就是理解不到位,基础不牢固
基础知识
1.关于类成员
类的成员就2种:
成员变量和成员函数。
成员变量又称属性或者字段(java的API中可以见到),
成员函数又包括构造函数(又称构造方法,构造器)和普通函数(普通方法)
构造函数没有返回类型,函数名与类名必须相同,这是与普通方法的主要区别。
拿第一题来说:
员工 Employee 类:属性+函数(构造函数和普通函数)
属性:姓名name,年龄age,性别sex,一般设置为私有,实际开发也是这样,主要是为了数据的安全,不能随意访问。
属性私有化改变了属性的访问操作方式:如果属性没有私有化,在其它类,如测试类中可以以类名 . 属性直接访问属性;而私有化后,类名 . 属性的访问方式失效,必须提供set,get函数分别来给属性赋值,获取属性值
set函数要传入参数,利用当前类的对象this(注:有了this就可区分同名的形参、属性,有this的是属性)来动态地赋值,赋值后属性在本类内共享,通过get函数返回属性即可获得它的值。
set,get函数是普通函数,为了规范化,命名为setName等形式
2.关于类间的单继承
java类与类之间只支持单继承,可以多层继承.
多层继承通过同一类的继承与被继承等的方式实现:
如 类A: class A extends B
class C extends A
那么类C实现了多层继承。
继承的关键字extends
位置:出现在子类名(前)和父类名(后)之间
有了extends,就有了子类和父类的说法
子类:继承的类
父类:被继承的类
那么继承关系下,子类就拥有(共享)父类的非私有成员(包括属性和方法),也就是可以直接访问操作父类成员。
子类成员的构成:
父类非私有成员(super)+当前子类成员(this)
(非私有成员:父类中public、protected、无访问权限修饰符的成员)
如public Employee{
String name="我是父类";
int age;
char sex;
}
public Manager extends Employee{
String name =“子类属性”;//继承关系下的同名
String position =”经理“;//职位
String annualsalary;//年薪
//构造函数
Manager(){
super();
//this 为当前类对象,子类对象
syso (“当前类name ”:+this.name);
//super为父类对象,继承过来的
syso (“当前类访问父类name ”:+super.name);
//注:当前类访问时,当且仅当父类与子类具有同名成员时须用this,super对成员加以区分
不同名则不需要区分,隐式指定,结果都一样;
}
}
main(){
Manager m=new Manager();
}
运行结果:
当前类name :我是子类
当前类访问父类name :我是父类
2013-03-25
展开全部
方法重写要遵循:“两同两小一大”。
两同:即方法名相同、形参列表相同。
两小:即子类方法返回值类型应比父类方法返回值类型更小或相等。子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等。
一大:即子类方法的访问权限应比父类方法的访问权限更大或相等。
两同:即方法名相同、形参列表相同。
两小:即子类方法返回值类型应比父类方法返回值类型更小或相等。子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等。
一大:即子类方法的访问权限应比父类方法的访问权限更大或相等。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A选项属于覆盖,B选项权限不能升高,继承时只能相等,或越来越低;C选项是重载了,名相同,但本质上不是一个方法;D选项没有这种表示,重载是参数类型或个数不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我怎么觉得就选A啊。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询