zoukankan      html  css  js  c++  java
  • [Java学习]面向对象-类的继承;方法覆盖

    一、类的继承

    实现方法:

    public Class SubClass extends SuperClass{ }

    继承最基本作用:

    代码重用。

    继承最重要的作用:

    方法可以重写。

    关于类的继承:

    子类将继承父类除构造方法外的所有数据和方法,包括私有的。
    但子类无法直接访问父类中的私有数据,可以通过方法间接访问。

    若类无显式继承其他类,则默认继承SUN提供的java.lang.Object类

    二、方法的覆盖

    定义

    子类将父类中方法重写

    使用场景

    父类方法无法满足子类使用需求。

    发生覆盖的条件

    • 发生具有继承关系的类之间
    • 相同的方法名、参数列表、返回类型
    • 重写方法不能比被重写方法拥有更低的访问权限 (低 private<default<public 高 ) ?why
    • 重写方法不能比被重写方法抛出更宽泛的异常 ?
    • 私有方法不能被覆盖
    • 静态方法不存在覆盖
    public class Test{
    
    	public static void main(String[] args) {
    
    		A a=new B();
    
    		
    
    		//静态方法不存在覆盖,因为静态方法执行和对象无关。
    
    		//a调哪个的方法 由A a 决定
    
    		a.method();
    
    	}
    
    }
    
    
    
    class A{
    
    	public static void method() {
    
    		System.out.println("A's method.");
    
    	}
    
    }
    
    
    
    class B extends A{
    
    	public static void method() {
    
    		System.out.println("B's method.");
    
    	}
    
    }
    
    • 覆盖指的是成员方法,和成员变量无关。
  • 相关阅读:
    创建ros的程序包--3
    ROS文件系统介绍--2
    安装并配置ROS环境1
    ros-indigo-desktop-full安装到ubuntu14.04
    嵌入式声卡应用分析---18
    linux用户态定时器的使用---19
    tiny4412 linux+qtopia nfs网络文件系统的挂载
    ActiveMQ
    Web.xml配置详解之context-param
    Spring MVC的多视图解析器配置及与Freemarker的集成
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/10446912.html
Copyright © 2011-2022 走看看