[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.");
}
}
- 覆盖指的是成员方法,和成员变量无关。
[Java学习]面向对象-类的继承;方法覆盖的更多相关文章
- javaSE练习13——(知识点:类的继承 方法的覆盖)
设计2个类,要求如下: (知识点:类的继承 方法的覆盖)1.定义一个汽车类Vehicle, 1.1 属性包括:汽车品牌brand(String类型).颜色color(String类型 )和速度spee ...
- java.lang.String 类的所有方法
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...
- Java学习——枚举类
Java学习——枚举类 摘要:本文主要介绍了Java的枚举类. 部分内容来自以下博客: https://www.cnblogs.com/sister/p/4700702.html https://bl ...
- Java学习-023-Properties 类 XML 配置文件读取及写入源代码
之前的几篇 Properties 文章已经讲述过了 Java 配置文件类 Properties 的基本用法,查看 JDK 的帮助文档时,也可看到在 Properties 类中还有两个方法 loadFr ...
- Java学习——日期类
Java学习——日期类 摘要:本文主要记录了Java开发中用到的和日期有关的类以及对日期的操作. 部分内容来自以下博客: https://www.cnblogs.com/talk/p/2680591. ...
- java的ThreadLocal类的使用方法
java的ThreadLocal类的使用方法,ThreadLocal是一个支持泛型的类,用在多线程中用于防止并发冲突问题. 比如以下的一个样例,就是用于线程添加1,可是相互不冲突 package co ...
- Java中主类中定义方法加static和不加static的区别
Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...
- Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能
Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...
- Java学习——BigInteger类和BigDecimal类
Java学习——BigInteger类和BigDecimal类 摘要:本文主要学习了用于大数字运算的BigInteger类和BigDecimal类. 部分内容来自以下博客: https://www.c ...
随机推荐
- java ftp主动模式与被动模式
首先介绍一下主动模式与被动模式: 1.PORT(主动模式) ftpClient.enterLocalActiveMode(); PORT中文为主动模式,工作的原理:FTP客户端连接到FTP服务器的21 ...
- 虚拟机扩容mac
VMware虚拟机Mac增大容量: 1.设置硬盘容量大小 2.打开虚拟机的终端,找到需要扩展的硬盘.输入命令 :diskutil list 注意 :我的硬盘名字叫yz,这一行可以看见当前分配容量,最后 ...
- 1.13.Mark1
[经济学人]双语阅读:律师事务所 标价更高 收益更少 Business 商业报道 Law firms 律师事务所 Charging more, getting less 标价更高,收益更少 L ...
- Go语言学习笔记(2)
数组 var a [2]string a[0] = "Hello" a[1] = "World" primes := [6]int{2, 3, 5, 7, 11 ...
- Haskell语言学习笔记(75)Conduit
安装 conduit $ cabal install conduit Installed conduit-1.3.0.3 Prelude> import Conduit Prelude Cond ...
- JS封装Cookie
/* @黑眼诗人 <www.farwish.com> */<script> //设置cookie: cookie名,cookie值,天数 function setCookie( ...
- 修饰词public、private、protected、默认、四者之间的区别
在Java语法中,对于类与类中的成员变量和成员方法是通过访问控制符来区分控制的. 下面来看看这四种访问控制符的区别:(public.protected.private.default) 1.publi ...
- 3.Java的基本数据类型.md
Java支持的类型分为两类: •基本类型(Primitive Type):boolean和数值类型 ◦整型:byte.short.int.long.char ◦浮点:float.double •nul ...
- C++ CSTRINGLIST用法
CStringList类成员 构造 CStringList 构造一个空的CString对象列表 首/尾访问 GetHead 返回此列表(不能是空的)中头部的元素 GetTail 返回此列表(不能是 ...
- AndroidScreenSlide项目切换view动画效果《IT蓝豹》
AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换vi ...