导航:首页 > 编程语言 > java重写

java重写

发布时间:2022-02-13 01:08:39

java重写

在对父类方法进行重写时,需要遵循“两同两小一大”的原则。两同:方法名、形参列表相同,两小:子类方法的返回值类型要比父类方法的返回值类型小或相等,子类方法抛出的异常应比父类方法抛出的异常类型小或相等。一大:子类方法的访问权限要比父类方法的访问权限大或相等。

㈡ Java中的重写

在Java中如何来定义重写:Java程序中类的继承特性可以产生一个子类,子类继承父类就拥有了父类的非私有的属性(方法和变量),在子类中可以增加自己的属性(方法和变量),同时也可以对父类中的方法进行扩展,以增强自己的功能,这样就称之为重写,也称为复写或者覆盖。所谓方法重写就是子类的方法和父类中继承下来的方法具有完全相同的方法名、返回值类型、方法的参数个数以及参数类型,这样才能被称为方法重写。
代码体现:
// 这是父类的定义
public class Person {
public void eat() {
System.out.println("=====这是父类Person的eat方法=======");
}
}

// 这是子类的定义
public class Student extends Person {
@Override
public void eat() {
System.out.println("===这是子类Student的eat方法===");
}

// main方法测试
public static void main(String[] args) {
Student student = new Student();
student.eat(); //输出:===这是子类Student的eat方法===
}
}
子类重写父类的方法后,在实例化子类的时候则调用的是子类中的方法,父类的方法就如同被覆盖了一样。如果在子类中需要调用父类的方法,则在子类方法中使用super关键字调用父类的方法,格式:super.父类中的方法名。

㈢ java中方法重写具体是什么

方法重写,就是一个类继续了另一个类的时候,对父类的方法重新实现!

这个重新实现,就是使用相同的方法名,相同的参数列表和返回类型,访问控制符使用和父类相同或者更宽。

举例:
class F {
public String m(String s) {
return s;
}
}

class C extends F {
@Override
public String m(String s) {
return s+"extends";
}
}

㈣ java 如何重写一个文件

直接上代码:

Filef=newFile("my.txt");
if(!f.exsit()){
f.getParentFile().mkdirs();//创建父目录
f.createNewFile();//创建文件自身
}
FileWriterfw=null;]
try{
fw=newFileWriter(f);
fw.write("我的内容 ");
fw.write("我的内容 ");
fw.close();
}catch(Throwablee){e.printStackTrace();//把异常给输出出来
}finally{
if(fw!=null)try{fw.close();}catch(Throwablee){)//关闭文件

}

㈤ java中方法重写的实例子

importjava.util.*;
publicclasszilei{
publicstaticvoidmain(Stringarg[]){
System.out.println("请输入两个正整数:");
Scannerreader=newScanner(System.in);
inta=reader.nextInt();
intb=reader.nextInt();
Aaa;
Bbb;
aa=newA();
bb=newB();
intd=aa.f(a,b);
System.out.println("最大公约数:"+d);
intk=bb.f(a,b);
System.out.println("最小公倍数:"+k);
}
}
classA{
publicintf(inta,intb){
intr=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
returnb;
}
}
classBextendsA{
publicintf(inta,intb){
intm=super.f(a,b);
return((a*b)/m);
}
}
这里classB的f(inta,intb)方法就重写了父类的相同方法。

㈥ Java中的重写和重载

class ju{
static int chang=15;
static int kuan=10;
static int mj;
static int zc;
public void mj(){
System.out.println(mj=chang*kuan);
}
public void zc(){
System.out.println(zc=(chang+kuan)*2);
}
}
class zheng {
public void mj(int chang,int mj){
this.chang=chang;
this.mj=mj;
System.out.println(mj=chang*chang);
}
public void zc(int chang,int zc){
this.chang=chang;
this.zc=zc;
System.out.println(zc=4*chang);
}
}
public class text{
public static main(String args[]){
ju jm=new ju();
zheng zm=new zheng();
jm.mj();
zm.mj();
jm.zc();
zm.zc();
}
}

㈦ java怎么重写一个方法

抽象方法:在类中没有方法体的方法,就是抽象方法。
你类中的抽象方法就没有里面的语句,也就是说你这根本就不符合抽象方法的定义。

如果不是抽象方法super.get()
class A{
void get(){ int i=1;i++;}
}
public class B extends A{
public static void main(String args[]) {

B b = new B();
b.get();
}

void get(){
super.get();
}

}

㈧ java中的方法重写

理论上说方法重写只要参数列表和名称相同就可以认为已经是重写~~不过方法重写一般都和原来的方法一摸一样~~也就是方法名、参数列表、返回值都和原方法一样~~要实现方法重写的话必须得继承相应的父类~~并且在子类里有一个和父类的某一个方法相同的一个方法~~如果是在本类里存在的相同的方法是重载而不是重写~~

㈨ java 重写方法

final 和static 的方法不能被重写 但是静态的方法可以被重新定义
你那个不是重写 是重新定义 重新定义不属于多态范畴
所以他只看引用类型 但是java也强烈建议你千万不要用引用去访问静态变量或静态方法,因为那样你会逻辑混乱
你用的f其实就是子类型,根本没有多态的,就算是调用重写的非静态方法还是体现不出多态性
那么其调用的grow一定是重新定义的子类方法
然而
Amphibian.grow(f);
来说 你在grow参数里声明的是父类的引用 但是你却把一个子类实例传递进来
多态性在这体现了 首先调用的是父类的静态没疑问了 然而a.eat();出现了多态行为
父类引用指向子类对象 调用的是子类重写的方法

㈩ java中的方法重写举例

在子类中写一些和父类中一模一样的方法,这就是重写了.就叫得写了父类的这些方法.

阅读全文

与java重写相关的资料

热点内容
看帧率app如何使用 浏览:523
从DHC服务器租用IP地址 浏览:473
编译怎么学 浏览:329
数码管显示0到9plc编程 浏览:665
服务器是为什么服务的 浏览:765
java定义数据类型 浏览:874
安卓pdf手写 浏览:427
什么是app开发者 浏览:284
android闹钟重启 浏览:101
程序员失职 浏览:518
在云服务器怎么改密码 浏览:586
服务器pb什么意思 浏览:940
51驾驶员的是什么app 浏览:670
php静态变量销毁 浏览:886
编程买苹果电脑 浏览:762
flac算法 浏览:499
reactnative与android 浏览:665
程序员是干什么的工作好吗 浏览:258
kbuild编译ko 浏览:471
条件编译的宏 浏览:566