4. java基础之修饰符
其他修饰符
public | 可以修饰属性、方法、构造方法、类 |
protected | 可以修饰属性、方法、构造方法 |
default | 可以修饰属性、方法、构造方法、类 |
private | 可以修饰属性、方法、构造方法(如果修饰构造方法全为私有,则该类不支持被继承) |
abstract | 可以修饰方法、类 |
final | 可以修饰属性、方法、类 |
abstract
- abstract修饰类时,这个类只能声明引用、不能创建对象,可供子类继承(多态)
- abstract修饰方法,抽象方法没有实现({}),只有声明(abstract void method();),供子类去覆盖实现
总结:
- 如果一个类具有抽象方法,那么这个类就必须是抽象类,但抽象类不一定有抽象方法
- 如果一个类继承抽象类,但若这个类不希望成为抽象类,这个类就必须实现父亲类中所有的抽象方法
- 抽象类也拥有构造方法,供子类用super()调用
抽象方法可以使方法的声明和实现部分分离,声明提取到父类,实现留在子类,则更好的体现子类的共性放在父类的设计思想
final修饰符
1.final修饰方法:用final修饰的方法不能被子类覆盖,但可以被继承
2.final修饰类:用final修饰的类不能被继承
3.final修饰变量:
修饰局部变量:一旦赋值就不能更改(常量)
修饰成员变量:用final修饰的类的成员变量,没有默认值,可以通过初始化赋值一次。如果只声明而没有初始化赋值,就必须在所有构造方法里赋值或用static修饰的代码块接口interface
接口:接口是一个特殊的抽象类
注意:
- 接口中所有的方法都是公开抽象方法(public abstract 方法名,可以省略不写)
(在jdk8后接口中可以有default、static方法. jdk9后几口中可以有private方法) 变态不? - 接口中的属性都是公开静态常量(public static final 常量名 ,可以省略不写)
- 接口中没有构造方法,而抽象类中有构造方法
一个类实现一个接口,如果这个类不希望成为一个抽象类,则就必须实现接口中的所有方法
接口的特性:
- 接口之间可以定义多继承关系(接口之间的继承仍然是用extends,用“,”分隔)
一个类在继承另外一个类的同时,还能实现多个接口此时多个接口之间用“,”隔开
接口的作用:
- 实现多继承(注意不全是多继承,例如一个类不可能有两个方法名相同、参数表相同、放回值类型相同的两个方法,所有就要求继承多个父类时,父类如果有相同方法时,就会出错)
- 接口是一个标准(提高编程的弱耦合性)
定义接口就是定义一个标准,就把标准的实现者和标准的使用者分离,从而形成弱耦合关系
4. java基础之修饰符的更多相关文章
- java基础之修饰符和内部类
1.java修饰符 /* 修饰符: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 抽象修饰符:abstract 类: 权限修饰符:默认修饰 ...
- Java基础-访问修饰符
访问修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象:类.接口.变量.方法. private : 在同一类内可见.使用对象:变量.方法. 注意:不能修饰类( ...
- JAVA基础_修饰符
引言:Java的修饰符根据修饰的对象不同,分为类修饰符.方法修饰符.变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符.访问控制存在的原因:a.让客户端程序员无法触及他们不应该触及的部分 ...
- java基础之 修饰符
一.访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. 1.default (即缺省,什么也不写): 在同一包内可见,不使用任何修 ...
- Java 基础 面向对象修饰符和自定义数据类型
不同修饰符使用细节 常用来修饰类.方法.变量的修饰符如下: public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是 ...
- java中的修饰符和基本数据类型
1.java中的修饰符 java中的修饰符主要是用来对类资源进行一个权限控制,上面表格表现的很清晰,无需多言. 2.java中的基本数据类型 java中的数据类型分为引用类型和基本类型.基本数据类型有 ...
- Java中的 修饰符
java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符 访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共 ...
- 深入理解Java的protected修饰符
其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类 ...
- java访问权限修饰符
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...
随机推荐
- 一、Java基础篇
1.简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java 平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出 ...
- Android 自定义 View 详解
View 的绘制系列文章: Android View 绘制流程之 DecorView 与 ViewRootImpl Android View 的绘制流程之 Measure 过程详解 (一) Andro ...
- SpringBoot-HelloWorld(三)
HelloWorld 学一个新的框架,不写helloworld是没有灵魂的,嘿嘿 准备工作 我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理.通过这个例子对S ...
- I_want_all 2019训练记录
Team members StarHai binarycopycode Fly_White Caution 读题 数组第一维的访问速度比其他维速度快. 清空数组 乘法运算取模里面涉及到减法注意变为负数 ...
- Python爬虫--喜马拉雅三国音频爬取
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Botreechan 1.进入地址我们可以发现,页面有着非常整齐的目 ...
- Python学习笔记—自动化部署【新手必学】
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:唯恋殊雨 目录 pexpect fabric pexpect P ...
- 怎么样才算是精通 Python?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:weixin_45587093 你们所说的什么要怎样数据分析.爬虫.We ...
- iOS开发 为何 大不如前?原因竟然是这个?
前言: 近期,社会上对iOS开发行业的负面信息越来越多,并且还被一些黑骗机构的胡诌八扯越描越黑,现在iOS开发按照开发者与公司招聘的数量上来看,是显示的供大于求,但是从各公司的招人计划上来看,明显是供 ...
- 【CuteJavaScript】Angular6入门项目(4.改造组件和添加HTTP服务)
本文目录 一.项目起步 二.编写路由组件 三.编写页面组件 1.编写单一组件 2.模拟数据 3.编写主从组件 四.编写服务 1.为什么需要服务 2.编写服务 五.引入RxJS 1.关于RxJS 2.引 ...
- 解决Vue报错:TypeError: Cannot read property 'scrollHeight' of undefined
如图: 解决问题的根源: 这个DOM元素找不到,或者是初始化的时候没有初始化成功,总之就是这个DOM元素并没有创建成功就进行了操作.保证这个DOM元素创建成功了就不会存在这个问题了.判断当前DOM元素 ...