各位java高手们。我有点问题想要请教一下各位。如果有知道的就告诉小弟一下。自学还是有些不懂。谢谢啦
创建Person类引用,指向Student对象。调用该引用的只有Student类独有的方法,以及Student覆盖Person类的方法。测试是否可以编译通过。在注释中说明...
创建Person类引用,指向Student对象。调用该引用的只有Student类独有的方法,以及Student覆盖Person类的方法。测试是否可以编译通过。在注释中说明测试结果的原因。
展开
3个回答
展开全部
你的术语很不专业。。。
“创建Person类引用,指向Student对象” 你想说的不就是:创建父类Person的一个对象,引用子类Student的实例 Person p=new Student();
“调用该引用的只有Student类独有的方法,以及Student覆盖Person类的方法” 你想说的不就是:调用子类Students的方法,重写父类Person的方法吧
class Person
{
void say(){}
}
class Student extends Person
{
void say(){
System.out.println("重写了父类的子类方法");
}
void myway()
{
System.out.println("子类独有方法");
}
}
public class Maintest {
public static void main(String[] args) {
Person p=new Student();//创建Person类引用,指向Student对象
p.say();//Student覆盖Person类的方法
Student stu=new Student();
stu.myway();//调用该引用的只有Student类独有的方法,
}
}
“创建Person类引用,指向Student对象” 你想说的不就是:创建父类Person的一个对象,引用子类Student的实例 Person p=new Student();
“调用该引用的只有Student类独有的方法,以及Student覆盖Person类的方法” 你想说的不就是:调用子类Students的方法,重写父类Person的方法吧
class Person
{
void say(){}
}
class Student extends Person
{
void say(){
System.out.println("重写了父类的子类方法");
}
void myway()
{
System.out.println("子类独有方法");
}
}
public class Maintest {
public static void main(String[] args) {
Person p=new Student();//创建Person类引用,指向Student对象
p.say();//Student覆盖Person类的方法
Student stu=new Student();
stu.myway();//调用该引用的只有Student类独有的方法,
}
}
追问
谢谢这个前辈,我是新手。如果要求返回值也为Person类型的 可以被覆盖吗?
public Person getPerson(int age,String name){
Person p=new Person();
p.name=name;
p.ages=age;
return p;
}这个方法可以被覆盖吗?
追答
可以的,重写的方法(也就是你说的覆盖)只要在访问权限上不比父类的低就可以重写,规则是“同名同返同参”
展开全部
默认情况下属性设为private,方法设为public。并且让方法专注于做一件事。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说student 覆盖了person的方法 然后student 自己也有方法吧 这样当然是可以的啊
追问
我说的方法 在父类里面 是一个返回值类型为父类的方法 这个方法可以被子类所覆盖吗?
追答
可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询