super和访问权限修饰符
super()方法
构造方法中的super关键字
在java子类的构造方法中可以通过super关键字来调用父类的构造方法
super();访问父类中的无参构造函数
super(...)访问父类中的成员方法
super()来调用父类午餐的构造方法中,但即使不适用super()默认也会调用父类的构造方法,父类无参构造方法是可以自动以的无惨构造方法,也可以是编译器自动生成的默认构造方法,但如果父类中定义了有参构造方法,但是没有定义无惨的构造方法,这时候编译器不会生成默认的构造函数,也就不能通过super来调用构造方法,如果父类中定义了private的午餐构造方法,也不能通过super来调用
非构造方法中的super关键字
在子类中可以通过super关键字来调用父类中的成员变量和方法
super.eat;访问父类中的成员变量
super.aa();访问父类中的成员函数aa
super关键字访问父类的成员变量和成员函数时不能越过访问权限的控制,不能访问父类中private的成员变量和方法
比如:
class a{
private int a = 0;
}
class b extendx a{
private void seta(int i)
super.a = 0;这是错误的不可以访问父类的private成员
}
在有多层的继承关系,super调用只能自身父类的成员变量和方法,不能越过父类直接调用父类的父类中的成员变量或方法
定义:在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。
private当前类访问级别:如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其他成员访问,其他的类无法直接访问,封装就是他通过private关键字来实现的
default 包访问级别:如果一个雷或者类的成员不适用任何王文控制符修饰,则称他为默认访问控制级别,这个类或类的成员只能被本中的其他类访问
protecte子类访问级别:如果一个雷的成员被protecte访问修饰符修饰,那么这个成员既能被统一报下的其他类访问,也可以被不同的报下的类访问
public 公共访问级别:这是一个最宽松的访问控制级别,如果一个类或者类的成员被public访问修饰符修饰,那么这个类或类的成员能被所有的类访问
super和访问权限修饰符的更多相关文章
- Java 访问权限修饰符以及protected修饰符的理解
2017-11-04 22:28:39 访问权限修饰符的权限 访问修饰符protected的权限理解 在Core Java中有这样一段话“在Object类中,clone方法被声明为protected, ...
- 访问权限修饰符-static-final-this-super-匿名对象
1.this关键字的作用 1)调用本类中的属性; 2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用 3)表示当前对象; 2.匿名对象 ...
- 【转】C#访问权限修饰符
C#访问权限修饰符 C#中类及类型成员修饰符有以下四类:public,private,protected,internal. public 类及类型成员的修饰符 private 类型成员 ...
- java_访问权限修饰符
java的访问权限修饰符有四种,根据权限由大到小的顺序为:public,protected,包访问权限(默认,没有修饰符),private. 根据修饰的东西不同,详细介绍如下: 1.修饰类的话分为两种 ...
- java访问权限修饰符
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...
- Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)
首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...
- java四种访问权限修饰符
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围< ...
- Java的访问权限修饰符
default或者friendly表示默认的访问权限修饰符.
- 包和访问权限修饰符,.单例设计模式,.Object类常用方法,.内部类
1.包和访问权限修饰符 1.1 包 为什么要导包? 将字节码文件(.class)文件进行分类存放 --->包 其实就是文件夹 import java.util.Arrays; 包的划分规则 方案 ...
随机推荐
- SQL注入的几种类型
SQL注入就是: 将构造SQL语句来插入到web提交的数据之中,让其返回数据时运行自己构造的恶意SQL语句. SQL注入构造恶意SQL语句的方法有: 构造堆叠,构造闭合,构造报错,构造时间差,等等 S ...
- TypeScript 学习的随笔
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准 安装TypeScript npm install -g typescript 编译 tsc app.t ...
- nginx 主运行配置详解(nginx.conf)
#==基础配置==# user nginx; #设置运行用户,当运行NGINX时,进程所使用的用户,则进程拥有该用户对文件或目录的操作权限. worker_processes 4; #设置工作进程数量 ...
- nacos 快速入门
每日一句 外表可是具有欺骗性的. 每日一句 No victory comes without a price. 凡是成功就要付出代价. 概述 这个快速开始手册是帮忙您快速在您的电脑上,下载.安装并使用 ...
- Mysql命令行插入字段超长不报错,而jdbc报错问题分析
异常信息 exception.ServiceException: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long ...
- django框架8
内容概要 ajax简介 前后端传输数据编码格式 ajax发送json格式数据 ajax携带文件数据 回调机制处理策略 内容详情 ajax简介 页面不刷新的情况下可以与后端进行数据交互 异步提交 局部刷 ...
- MySQL并行复制(MTS)原理(完整版)
目录 MySQL 5.6并行复制架构 MySQL 5.7并行复制原理 Master 组提交(group commit) 支持并行复制的GTID slave LOGICAL_CLOCK(由order c ...
- c++ RMQ
关于 RMQ ,即 Range Maxnum (Minnum) Query .用于查询静态区间最大(最小)值, 思路基于动态规划 (DP) 思路 设 F[i][j] 为 [i,i+2j] 区间内的的最 ...
- 【抬杠C#】如何实现接口的base调用
背景 在三年前发布的C#8.0中有一项重要的改进叫做接口默认实现,从此以后,接口中定义的方法可以包含方法体了,即默认实现.不过对于接口的默认实现,其实现类或者子接口在重写这个方法的时候不能对其进行ba ...
- Canal-监听数据库表的变化
1. 简介 Canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费功能. 工作原理 Mysql主备复制原理 MySQL master 将数据变更 ...