JAVA笔记6-继承和权限控制
1、
(1)类的成员的权限修饰符有public,protected,private或default,限定其他对象对该类对象成员的访问权限。
(2)class的权限修饰符只可以是public或default
public:类可以在任何地方被访问;
default:类只可以被同一个包内部的类访问。
2、继承
(1)Java中使用extends关键字实现继承;
(2)通过继承,子类自动拥有了基类所有成员(成员变量和方法,但构造方法不能被继承),将父类的private成员也继承下来,但是不能访问(有父类private成员的所有权,但没有使用权);
(3)Java只支持单继承,不允许多继承。
3、继承的例子
4、重写overwirte或override
(1)子类中可以根据需要对基类中继承来的方法进行重写;
(2)重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型;
(3)重写方法不能使用比基类中被重写方法更严格的访问权限。
(4)重写方法抛出的异常必须是基类中被重写方法抛出的异常或其子类。
(4)对于基类中private的方法不能被重写,子类中定义相同名称的方法时,是新方法,而非重写。
对比:重载overload:方法名相同,参数个数或参数类型不同才构成重载(编译器可以区分开),只有返回值类型不同不构成重载(编译器无法区分开)。
5、super关键字(面宝)
使用super来引用基类。
6、继承中的构造方法
(1)子类的构造过程中必须调用其基类的构造方法;
(2)子类可以在自己的构造方法中使用super(参数列表argument_list)调用基类的构造方法;
使用this(参数列表)调用本类中其他的构造方法。
super(参数列表),this(参数列表)都必须写在子类构造方法的第一行,显然二者不能同时被调用。
(3)如果子类的构造方法中没有显示调用基类构造方法,则系统默认调用基类无参构造方法;
(4)如果子类的构造方法中既没有显示调用基类构造方法,而基类中又没有无参构造方法,则编译出错。
JAVA笔记6-继承和权限控制的更多相关文章
- Java之封装与访问权限控制(一)
目录 Java之封装与访问权限控制(一) 封装的概念 访问控制符 属性私有化 Java之封装与访问权限控制(一) 对于封装的概念,我总觉得自己还是挺了解的,但是真要我说,还真说不出个啥来.我只能默默地 ...
- Java面试题03-访问权限控制
Java面试题03-访问权限控制 1. Java中的包主要是为了防止类文件命名冲突以及方便进行代码组织和管理,因此采用域名倒置的方式来进行命名: 2. Java解释器的运行过程:首先找到环境变量CLA ...
- Java之封装与访问权限控制(二)
目录 Java之封装与访问权限控制(二) 包:库单元 import import static Java常用包 Java之封装与访问权限控制(二) 访问权限控制是具体实现的隐藏,是封装性的一部分体现. ...
- Java编程思想之六访问权限控制
访问控制(或隐藏具体实现)与"最初的实现并不恰当"有关. 访问权限控制的等级,从最大权限到最小权限依次为:public,protected,包访问权限(没有关键字)和private ...
- Java利用Mybatis进行数据权限控制
权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based ...
- JAVA基础--继承和权限控制
1. extends继承 2. java只支持单继承,不允许多继承 修饰符 类内部 同一个包 子类 任何地方 private YES default YES YES protect ...
- java基础-类成员访问权限控制
一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制 ...
- MySQL 初学笔记 ① -- MySQL用户登录权限控制
1. MySQL 登录 MySQL -u username -p 2. MySQL 创建用户 use mysql //进入mysql 表 INSERT INTO user (Host,User,Pas ...
- java中使用二进制进行权限控制
基本概念 package test; publicclass Rights { publicstaticvoid main(String[] args) { int a=1; // 001 状态a i ...
随机推荐
- sqlalchemy orm 层面删除数据注意
#encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,Text ...
- spring5源码分析系列(二)——spring核心容器体系结构
首先我们来认识下IOC和DI: IOC(Inversion of Control)控制反转:控制反转,就是把原先代码里面需要实现的对象创建.依赖的代码,反转给容器来帮忙实现.所以需要创建一个容器,并且 ...
- Python操作 RabbitMQ、Redis、Memcache
Python操作 RabbitMQ.Redis.Memcache Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数 ...
- (public丶private丶protected) 的理解
public(公有):公有的类成员可以在任何地方被访问. protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问. private(私有):私有的类成员则只能被其定义所在的类访 ...
- 2018.07.17【省赛模拟】模拟B组 比赛总结
题目 [GDKOI2003]最大公共子串 [题目描述] 从一个给定的串中删去(不一定连续地删去)0个或0个以上的字符,剩下的字符按原来的顺序组成的串是该串的字串.例如:"", &q ...
- # N数码问题
N数码问题 首先,先贯彻一个理念.奇偶性很神奇,对于一类问题,如果属于同种性质(奇偶性相同),那么它们就是完全相同(这个在某种意义上说)的,,一些问题如果奇偶性相同那么里面涉及的问题都是等价的. 数码 ...
- 【Java】Java程序报错:EXCEPTION_ACCESS_VIOLATION (0xc0000005)
运行Java程序的时候,报错:EXCEPTION_ACCESS_VIOLATION (0xc0000005): 根据原网页的说明: EXCEPTION_ACCESS_VIOLATION In rare ...
- redis 学习(1)-- redis 安装与启动
redis 学习(1)-- redis 安装与启动 redis 特性 关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了.介绍一下几个鲜明特性: 1.速度快 官方称可以达到10W的q ...
- js制作留言板
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 算法分析方法之平摊分析(Amotized Analysis)