java复写
① java中继承中,子类复写父类方法,为什么权限一定要大于等于父类
一个class叫c1,有个public的方法aa,class c2继承c1,重写aa方法但是是private的,class c3继承c2,没有重写aa方法,c3也相当于继承了c1,那么c3的方法aa是public的还是private的呢,这个逻辑不就乱掉了嘛,重写方法就相当于覆盖,权限比别人小怎么盖得住别人呢
② Java怎么重新复写(已经复写了一次)同一个类里的一个方法,能有这种办法吗
同一个类里可以有同名方法,但是它们的参数不能相同,这叫做重载(overload),是JAVA同一个类中多态性的体现。
还有一种是重写(Overriding):子类中定义某方法与其父类有相同的名称和参数,这是父类与子类之间的多态性的体现。
还有一种办法就是使用JAVA的泛型方法。
不知道你的具体要求是什么?
③ java里为什么要有接口.反正还要复写接口里的方法
因为java是单继承的,用接口就是为了实现多继承,接口还可以统一格式,而且更符合java面向对象编程思想。
④ java 重写和复写一样吗
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,同时返回值必须一样
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法
⑤ Java中,复写了toString方法,如何再调用复写前的toString方法
用super.toString()调用父类的toString方法看看 直接拼接字符串就行了啊。比如
classCCCC{
inti=0;
publicStringtoString(){
returnString.valueOf(i)+":"+super.toString();
}
}
⑥ Java方法覆写问题
我来解释下LZ的疑问哈,首先,父类私有的方法,也就是private方法,子类是既不可以重写,也不可以重载的,就算是跟父类一个同名的方法,那也是在子类中的一个新方法,不会跟父类冲突。
首先我们看书中的例子,父类中的this.fun是调用了自己类的方法,而new Student.fun()是调用了继承下来的父类的fun()方法,当然打印Per-->void print()只是说明了简单的继承
再看LZ的例子,父类的print方法是private的,是私有方法,是不能够重载和重写的,lz你在子类中也定义了default的print方法,只是一个新方法,并不是重写父类的,算不上是复写,只能算是一个新方法,不跟父类起冲突,也没有关系
⑦ 在Java中 子类可以复写父类的方法 那父类中的属性可以复写吗
可以复写,如果重名的话。不过一般我们使用属性会用private声明。这个属性是只能内部使用的,不可以复写
⑧ java中要使用多线程的时候为什么要复写run方法run方法起了什么作用
用start启动一个线程后,如果该线程获得了调度而运行,那总得让它干点事吧,run方法主要就是用来定义线程在运行时要干的事。
⑨ java中子类复写父类中的一些方法时,自己加的代码写在super()上面还是下面
子类复写父类中的一些方法时,自己加的代码写在super()必须写在下面。注意我说的是必须写在下面的,不然的话编译是不能通过的
⑩ Java复写了父类的方法后,怎么可以在跳出父类方法的同时,子类中该方法复写的内容也不执行..具体代码
public class Test { public void test1(String str) { if (str == null) { System.out.println("null"); System.out.println(str); return; } System.out.println(2); } } public class MainClass extends Test { @Override public void test1(String str) { // TODO Auto-generated method stub try{ super.test1(str); }catch (NullPointerException e) { // TODO: handle exception return; } System.out.println("go on"); } }一样的道理,用异常也可以,void换boolean是完全可以的,自己想 不明白就用异常来处理