方法重写 多态 抽象类 接口 final关键字

本文详细介绍了Java中的方法重写、多态的概念及应用,强调了重写时的注意事项。同时,讨论了final关键字在修饰类、方法和变量时的不同特点。接着,阐述了多态的实现条件、成员访问特点以及其优缺点。此外,还探讨了抽象类和接口的特性,包括它们与普通类的关系、设计原则及其区别。
摘要由CSDN通过智能技术生成

方法重写概述及其应用

方法重写是指子父类出现了一模一样的方法

重写这个概念只是存在子类和父类中

 

方法重写的应用

当子类需要父类的功能,而子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。

 

动物都会走,但走的方式不同

class test  
{
	public static void main (String[] args)
	{
		dog d = new dog();
		d.walk();
		chiken c = new chiken();
		c.walk();
	}
}


class animal{
    public void walk(){};
}

class dog extends animal{
    public void walk(){
        System.out.println("狗四条腿走");
    }
}

class chiken extends animal{
    public void walk(){
        System.out.println("鸡两条腿走");
    } 
}

方法重写的注意事项

父类中私有方法不能被重写,因为父类私有方法子类根本就无法继承

子类重写父类方法时,访问权限最好就一致

 

方法重写重载的面试题

 Overload能改变返回值类型吗?

overload是指方法重载,重载可以改变返回值类型,方法的重载只看参数列表不同

 

Override重写Overload重载的区别?

Override是指方法重写,也就是子类中出现了和父类中方法声明一模一样的方法

方法的重写是与返回值类型有关,返回值是一致(或者是子父类)的

方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。 

 

方法重载:

class test  
{
	public static void main (String[] args) 
	{
		Animal dog = new Animal();
		dog.walk(4);
		Animal fish = new Animal();
		fish.walk("不会走");
	}
}

class Animal {
     public void walk(int legs){
        System.out.println("我有" + legs + "条腿");
    }
    public void walk(String s){
        System.out.println(s);
    }
}

 

final关键字修饰类,方法以及变量的特点

final修饰特点

修饰类,类不能被继承,相当于做了丁克

修饰变量,变量就变成了常量,只能被赋值一次

修饰方法,方法不能被重写

 

修饰变量

final修饰变量叫做常量,一般会与public static共用

常量命名规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值