Java知识点梳理——继承
1、定义:继承允许创建分等级层次的类,就是子类继承父类的特征行为,使得子类对象具有父类实例的方法,
使得子类具有父类相同的行为。
2、继承的特性:
a、子类拥有父类非priavte的属性、方法;
b、子类可以拥有自己的属性和方法、即子类可以对父类进行扩展;
c、子类可以用自己的方式实现父类的方法;
d、java的继承是单继承,但是可以多重继承;单继承:一个子类只可以继承一个父类;多重继承:A类继承
B类,B类继承C类,即C类是B类的父类,B类是A类的父类;
e、继承提高了类之间的耦合性(继承的缺点,提高了代码间的联系)
3、extends关键字:类的继承是单一继承,一个子类只能拥有一个父类,extends只能继承一个类;
public class A {
public A() {
System.out.println("hello world");
}
}
// B子类继承A父类(extends只能继承一个类)
public class B extends A{
}
4、implements关键字:implements使类可以继承多个接口,多个接口用逗号分隔;
5、super关键字:用来引用当前对象的父类,实现对父类成员的访问;
6、this关键字:当前对象的引用;
7、final关键字:声明类不能被继承,即最终类,修饰方法不能被子类重写;
a、语法: final class 类名 { 方法、属性 }
访问修饰符(public、private、default、protected) final 返回值类型 方法名(参数){ 方法体 }
b、实例变量也可以被定义为 final,被定义为 final 的变量不能被修改;被声明为 final 类的方法自动地声明
为final,但是实例变量并不是 final;
c、访问修饰符
public——对所有类可见,被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问;
private——在同一类中可见 不能修饰类(外部类),被声明为 private 的方法、变量和构造方法只能被
所属类访问;
default——在同一包内可见;
protected——对同一包内的类和所有子类可见 不能修饰类(外部类)

d、非访问修饰符
static——用来修饰类方法和类变量;
final——用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,
修饰的变量为常量,是不可修改的;
abstract——用来创建抽象类和抽象方法;
synchronized、volatile——主要用于线程的编程,synchronized 关键字声明的方法同一时间只能被一
个线程访问;
8、构造器:子类不能继承父类的构造器(构造方法、构造函数),如果父类的构造器带有参数,子类的构造器
中必须显示的通过super关键字调用父类的构造器(带参数);如果父类的构造器不带有参数,不需
要子类显示调用,系统会自动调用;
Java知识点梳理——继承的更多相关文章
- java知识点梳理
网络搜索结果,出处不详,仅供参考 对于刚刚接触Java的人,java基础知识技术点繁多,那么gkstk小编为大家汇总最全java知识点如下,仅供大家参考学习! 1. JVM相关(包括了各个版本的特性) ...
- Java知识点梳理——多态
1.定义:多态是同一个行为具有多个不同表现形式或形态的能力,即一个接口不同的实例执行不同的操作: 2.优点:消除类型之间的耦合关系.可替换性.可扩展性.接口性.灵活性.简化性: 3.多态存在的3个必要 ...
- Java知识点梳理——集合
1.定义:Java集合类存放于java.util包,是存放对象的容器,长度可变,只能存放对象,可以存放不同的数据类型: 2.常用集合接口: a.Collection接口:最基本的集合接口,存储不唯一, ...
- Java知识点梳理——装箱和拆箱
1.前言:Java是典型的面向对象编程语言,但其中有8种基本数据类型不支持面向对象编程,基本数据类型不具备对象的特性,没有属性和方法:Java为此8种基本数据类型设计了对应的类(包装类),使之相互转换 ...
- Java知识点梳理——抽象类和接口
抽象类 1.定义:没有包含足够的信息来描绘一个具体对象的类,不能被实例化,必须被继承: 2.abstract关键字:abstract class定义抽象类,普通类的其它功能依然存在,如变量.方法等: ...
- Java知识点梳理——读写分离
1.读写分离:可以通过Spring提供的AbstractRoutingDataSource类,重写determineCurrentLookupKey方法,实现动态切换数据源的功能:读写分离可以有效减轻 ...
- Java知识点梳理——常用方法总结
1.查找字符串最后一次出现的位置 String str = "my name is zzw"; int lastIndex = str.lastIndexOf("zzw& ...
- Java知识点梳理——泛型
1.定义:泛型的本质是参数化类型,就是将类型由原来的具体的类型参数化,这种参数类型可以用在类.接口.方法中,分别称为泛型类.泛型接口.泛型方法: 2.泛型类:泛型类的声明和非泛型类的声明类似,除了在类 ...
- java 知识点梳理
1.ArrayList与linkedList 区别 ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦; 优点是查找比较快. Lin ...
随机推荐
- 在进程中执行新代码 execl、execle、execlp、execv、execve和execvp函数
摘要:本文主要讲述怎样在进程中执行新代码,以及exec系列函数的基本用法. 在进程中执行新代码 用函数fork创建子进程后,假设希望在当前子进程中运行新的程序,能够调用exec函数运行还有一个程序.当 ...
- Chrome Dev Editor:一个新的JavaScript和Dart IDE
在Google IO 2014期间,一位Google工程师带来了Chrome Dev Editor(CDE).该IDE用于创建面向桌面和移动设备的Chrome应用程序和Web应用程序.CDE支持Jav ...
- 织梦dedecms dede plus文件作用介绍及安全设置
一.安装设置 1.默认的后台模块中心有很多模块. 这里除了"友情链接"模块其他都可以删掉.在后台可以先卸载再删除. 2.如果是一开始就不想要的话,安装版plus目录下进行如下操作. ...
- 在做和sap系统集成的一点心得
最这一个月和sap做集成,把主数据中的数据写入到sap系统中,做集成就离不开联调,平时开发中,一个复杂点的系统还容易出问题,涉及到两个系统,由于两个或多个系统来自不同的厂家,各个厂家的开发对业务的理解 ...
- MongoDB - 内嵌角色
数据库用户角色(每个数据库都有的角色) 角色名 说明 read 对non-system集合的读取权限,以及以下system集合的读取权限:system.indexes,system.js,syst ...
- C#通过WIN32 API实现嵌入程序窗体
本文实例讲述了C#通过WIN32 API实现嵌入程序窗体的方法,分享给大家供大家参考.具体如下: 这是一个不使用COM,而是通过WIN32 API实现的示例, 它把写字板程序嵌在了自己的一个面板中. ...
- Sublime Text 2 和 Verilog HDL
Sublime Text 2 和 Verilog HDL Date Fri 04 July 2014 Tags Sublime Text / Vivado Sublime Text 代码编辑器之于程 ...
- c++11 on Android
C++11 on Android The latest Andoird NDK r8e finally supports some of the most important C++11 librar ...
- makefile之patsubst函数
格式:$(patsubst pattern,replacement,text) 名称:模式字符串替换函数--patsubst. 功能:查找text中的单词(单词以"空格".&quo ...
- jsp tld 的tag 自定义标签扩展
引入方式 <%@ taglib prefix="bgt" uri="/WEB-INF/tlds/bgt.tld" %> 写法示例如下: <?x ...