this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符
1.this关键字的作用
1)调用本类中的属性;
2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用
3)表示当前对象;
2.匿名对象
直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用
3.继承
继承是面向对象的三大特征之一,通过关键字:extends实现,被继承的类称为父类(也称作基类/超类),实现继承的类称为子类(也称作派生类)。
特点:
(1)通过继承,子类可以直接访问父类中非私有的属性及方法
(2)类的继承只允许单继承,但是可以多层继承;接口可以多继承;
(3)构造方法不可继承;
注意事项:
(1)子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器;
(2)子类程序调用方法,先调用子类方法,如果子类没有再调用父类中的方法;
(3)子类中若与父类中定义了同名变量,则不会覆盖父类中的同名变量.或是子类中定义了同名方法则会完全覆盖父类中的方法.
4.方法重写(Override)
子类中定义了与父类中同样的方法,包括函数名/返回值/参数类型等 ,只是执行主体发生改变.注意重写方法的权限应大于等于父类权限
重写方法抛出的异常不能大于原方法抛出的异常
5.super关键字
使用super关键字从父类中调用中构造方法/普通方法/属性
只能放首行,所以无法与this同时出现在同一代码块中
6.抽象类
关键字abstract
在父类仅知道方法名称,而不能涵盖方法主体的具体内容时,可以仅定义方法名称.具体方法实现由子类具体实现,方法名称中需包含abstract关键字
格式:访问权限 abstract 返回值 方法名();
7.static关键字和静态代码块
1)static可用于修饰属性:声明为全局属性或静态属性/类属性,建议由类直接访问(可以通过实例化对象访问,但不建议)
2)用于修饰方法:为全局方法,可被非static方法调用.static只能调用static修饰的方法
3)修饰代码块,成为静态代码块.静态代码块先于main方法执行/先于构造代码块执行.且只能使用一次
静态代码块--构造块--main---构造方法
8.final关键字
1)final声明的类不能被继承
2)final声明的方法不能被重写
3)final声明的变量成为常量,不可以被修改
this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符的更多相关文章
- 访问权限修饰符-static-final-this-super-匿名对象
1.this关键字的作用 1)调用本类中的属性; 2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用 3)表示当前对象; 2.匿名对象 ...
- Java 面向对象之static,final,匿名对象,内部类,包,修饰符
01final关键字概念 A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这 ...
- 06 面向对象:多态&抽象类&接口&权限修饰符&内部类
多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...
- 匿名类、包、权限修饰符_DAY10
1:内部类(理解) (1)把类定义在一个类的内部. (2)特点: A:内部类可以直接使用外部类的成员,包括私有. B:外部类要使用内部类成员,必须创建对象使用. 例子: public c ...
- php类的继承(基本概念,访问权限修饰符,重写override)
类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 ...
- super和访问权限修饰符
super()方法 构造方法中的super关键字 在java子类的构造方法中可以通过super关键字来调用父类的构造方法 super():访问父类中的无参构造函数 super(...)访问父类中的成员 ...
- 面向对象 继承 抽象类 接口 static 权限修饰符
Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...
- 【Java】基础:常见修饰符(权限修饰符以及abstract、static、final等)与变量的描述
1. 修饰符 public.protected.private.default abstract.static.final. abstract:抽象类.抽象方法 static:静态变量.静态方法.静态 ...
- static介绍、内部类、final、权限修饰符的作用范围
static 关键字:(可用于修饰方法.变量) static 特点: static是静态修饰符,一般修饰成员变量.被static修饰的属于全局共享.被static修饰的成员属于 ...
随机推荐
- bzoj 3809 Gty的二逼妹子序列——莫队+分块
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3809 容易想到树状数组维护值域.但修改和查询都是 log 太慢. 考虑有 nsqrt(n) ...
- lsyncd实时同步搭建指南——取代rsync+inotify
1. 几大实时同步工具比较 1.1 inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的 ...
- Storm 01之 Storm基本概念及第一个demo
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies :[tə'pɑ:lədʒɪ]拓扑结构 Streams Spouts:[spaʊt]喷出; 喷射; 滔 ...
- 配置哨兵监控Redis运行情况
Redis的主从架构,如果master发现故障了,还得手动将slave切换成master继续服务,手动的方式容易造成失误,导致数据丢失,那Redis有没有一种机制可以在master和slave进行监控 ...
- C# HTML解析工具HtmlAgilityPack使用实例(一)
一.生成HTML字符串 //生成DOM字符串结构 HtmlNode container = HtmlNode.CreateNode("<div />"); HtmlNo ...
- UVa 10755 Garbage Heap (暴力+前缀和)
题意:有个长方体由A*B*C组成,每个废料都有一个价值,要选一个子长方体,使得价值最大. 析:我们暴力枚举上下左右边界,然后用前缀和来快速得到另一个,然后就能得到长方体,每次维护一个最小值,然后差就是 ...
- QDUOJ LC的课后辅导 单调递增栈
LC的课后辅导 发布时间: 2015年9月19日 21:42 时间限制: 1000ms 内存限制: 256M 描述 有一天,LC给我们出了一道题,如图: 这个图形从左到右由若干个 宽为1 高不 ...
- 如何实现Vue已经弃用的$dispatch和$broadcast方法?
对于父子(含跨级)传递数据的通信方式,Vue.js 并没有提供原生的 API 来支持,而是推荐使用大型数据状态管理工具 Vuex,但 Vuex 对于小型项目来说用起来真的很麻烦. 在 Vue.js 1 ...
- LightOJ 1022 【读题】
求阴影面积: 犯了两个错误,漏看了两个条件. 第一个wa:题面中PI说要取pi = 2 * acos (0.0) 第二个wa: For example, add 10-9 to your result ...
- Codevs 3134 Circle
3134 Circle 题目描述 Description 在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次.在满足这些线段将圆分成最少部分的前提下,请计算有多 ...