java 方法重写与权限修饰符以及多态和抽象类详解概念和用法
作者:yyy言者
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写,权限修饰符用于控制被修饰变量、方法、类的可见范围,说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高
1.方法重写
子类写和父类一样的方法定义
public void call(){
System.out.println(“输出文字”); //父类的方法
}public void call(){
System.out.println(“helloworld”);
} //子类的方法
重写父类方法时,容易写错名字怎么办?
加个@Override 注解
如果报错,说明重写父类方法时,写错了
@Override:
@Override public void call(){ System.out.println("helloworld"); } private void cally(){ System.out.println("输出文字"); }
private int all; 父类有私有成员,子类是访问不到的
2.多层继承
子类,父类,爷爷类
父类继承了爷爷,子类继承了父类
子类可以使用爷爷的方法
3.权限修饰符:
private
protected
public:
修释成员变量和方法:
什么可以访问?
4.被final修饰就不能被重写:
final:最终;
final int a=10; a=30; //报错 ,不能再次被赋值
5.static静态的意思:
staic:特点
6.多态:
同一个对象,不同时刻不同形态
可以:
如:
Zi() p=new Zi();//
Fu p=new Zi(); // 多态
Fu是Zi的父类
多态对象访问成员变量时:访问的是父类的成员变量
访问成员方法编译看左边,执行看右边;
:父类要有成员变量定义,和子类一样,多态対象才能调用字类的方法
public class Fu { String ass="我是谁"; public void call(){ //必须有这个定义 System.out.println("我是说这个"); } }
public class Zi extends Fu { String ass="我"; public void call(){ //执行 System.out.println("我是说"); } }
效果图:
特点:
7.抽象类:
abstrast :修释 方法和类
abstrast : 抽象
public abstract class Zi { public abstract void call(); //没有方法体 //抽象方法 }
抽象可以由多态来创建对象
以上就是java 方法重写与权限修饰符以及多态和抽象类详解概念和用法的详细内容,更多关于java 方法重写的资料请关注脚本之家其它相关文章!