java 常用的一些关键字
1.关键字extends
1.继承作用
优化代码,减少代码的重复使用。
2.继承使用时机
两个类之间必须要满足is a的关系 ,才能够拥有继承关系,不是任 何 情况下都允许继承
3.继承的使用注意事项
a)子类不能够继承父类的私有的变量。
b)子类不能够继承父类的构造方法。
c)子类在调用自己的构造方法时,会默认调用父类的无参构造。
d).私有方法不能被继承。
f)子类不能够继承不在一个包中默认权限的成员变量。
为什么会调用父类的构造方法?
子类在创建对象的时候初始化父类的变量。
注意:当类调用自己的构造函数时,首先要调用父类的无参构造方法,当子类初始化父类的变量时,我们可以用super()来让父类自己初始化当前的变量。
2.关键字super
Super:代表是子类所属的父类中的内存空间引用。
1.super关键子的作用
1、当子类和父类存在同名的成员变量时,可以通过super来调用父类的成员变量。
2、super可以用来调用父类的构造方法。
2.super使用的注意事项:
1、用super调用父类的构造方法,必须是构造方法中的第一个语句。
2、super只能出现在子类的方法和构造方法中。
3、super和this不能够同时调用构造方法。
3.super和this的区别
1.代表的事物不一样:
this:代表是本类类型的对象引用。
super:代表是子类所属的父类中的内存空间引用。
2.使用前提不一致:
this:在非继承的条件下也可以使用
super:只能在继承的条件下使用
3.调用构造方法:
this:调用本类的构造方法
super:调用父类的构造方法
注意:调用构造方法时,必须在构造方法当中的第一个位置,并且两者不能同时存在,因为构造方法中只有一个第一位置,而他们两个都必须放在第一个位置。在子类的构造方法中会默认调用父类的无参构造方法。
3. 方法的重写
1.重写的作用
当父类的方法满足不了子类的实现,这个时候就要通过复写方法实现父类的行为。
2.方法重写使用注意事项
a).方法复写时,必须存在继承关系
b).方法复写时,方法名和形式参数必须保持一致
c).方法复写时,子类的权限修饰符必须大于或等于父类 的权限修饰符。比如:
父类 private /public void eat()
子类 public void eat()
d).方法复写时,返回值类型必须小于或等于父类的返回值类型, 并且基本数据类型的上下级关系不是很明确,所以在这里可 能会出现一点问题
父类 public Animal test ()
子类 public Dog test()
3.方法的重载
方法名一样,参数列表的个数,类型,顺序不一样。
4. 关键字Instanceof
1.作用:
1.用来判断某一个对象是否属于某一个类
boolean result = p instanceof Person;
2.instanceof 关键字的使用前提:对象指定的类有继承关系 或者实现关系。
2. 判断一个对象继承的类。
目前instanceof关键字没有任何作用。 后面学强制类型 转换时会用到。
Student s = (Student) new Person();
5.关键字 final
1.final的作用
1.如果用一个final关键字修饰一个基本数据类型变量,改变了 就不能够重新赋值,第一次的结果为最终的结果。
final double pi = 3.14;
2.如果用final修饰引用数据类型变量,无法给引用数据类型变 量赋值
final Yuan y = new Yuan(10);
3.如果final修饰一个方法,方法就不能够被重写。
4.如果final修饰一个类,类就不能够被继承。
2.如何用final表示常量
public final static 基本数据类型 变量名
3.当我们应用了final关键字之后,那么将不能够重新赋值
注意:final修饰的变量必须初始化
6.值传递
1.基本数据类型
当是两个基本数据类型交换的时候,我们交换的是他们的值,所以到最后的时候,原来两个数的值都没有变化
int temp = a;
a = b
b = temp;
2.引用数据类型
当是引用数据类型的时候,我们叫换的是他们的地址, 以到最后的时候,原来两个数的值都变化了
int temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
7.关键字 abstract
1.抽象类定义
如果用关键字abstract修饰了的类,叫做抽象类
abstract class Animal
2.抽象方法
如果用关键字abstract修饰了的方法,叫做抽象方法
abstract public void run ();
3.方法体
方法体就是方法中花括号包括的内容
4.abstract的作用
1.如果一个方法没有方法体,那么这个方法必须要用abstract 来修饰。
2.如果一个类中有抽象方法,那么这个类必须用abstract 来修饰 ,为 抽象的类。
3.如果一个非抽象的类,继承了这个抽象类,那么这个非抽象类中必须 重写所有的抽象方法。
4.一个抽象类中是可以有非抽象的方法。
5.一个抽象类中是可以存在构造方法。作用是让子类能过初始化父类 中的变量。
6.抽象类不能够创建对象。
7.一个抽象类中是可以不出现抽象方法的。
5.abstract的使用场景
我们在描述一个事物的时候,发现这个事物确实存在某种行为,但是这种行为又不具体,那么这个时候就可以抽取这种行为 声明一个没有实现的行为,这种行为就叫抽象的行为,那么这个时候就需要用到抽象类。
注意:非抽象类继承了抽象类,那么非抽象类必须实现抽象类中的抽象方法
6.abstract不能够和以下关键字连用
1.不能和private。
2.不能和static使用。
3.不能和final一起使用
8.关键字interface
1、是用关键字interface定义的。
2、接口中包含的成员,最常见的有全局常量、抽象方法。
注意:接口中的成员都有固定的修饰符。
成员属性:public static final
成员方法:public abstract
3、接口中有抽象方法,说明接口不可以实例化。接口的子类必须实现了接口中所有的抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。
4、类与类之间存在着继承关系,类与接口中间存在的是实现关系。即继承用extends ;实现用implements ;
5、接口和类不一样的地方是接口可以被多实现,这就是多继承改良后的 结果。java将多继承机制通过多实现来体现。
6、一个类在继承另一个类的同时,还可以实现多个接口。所以接口的出现避免了单继承的局限性。还可以将类进行功能的扩展。
7、其实java中是有多继承的。接口与接口之间存在着继承关系,接口可以多继承接口。
8.接口作用 :用来拓展功,让程序解耦,定义约束
9 .接口的使用注意事项:
1.接口是一个特殊的类,是可以定义属性和方法。
2.属性默认是用final修饰的 : public static final 实际上是一个 常量。
3.方法都是抽象的 : abstract public
4.接口不能创建对象。
5.接口没有构造方法。
6.接口是给类去实现的,非抽象类实现接口时,必须将接口中的 方法都实现了。
.
java 常用的一些关键字的更多相关文章
- Java常用关键字的原理及用法
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843135.html 一:transient 用途:Java中一个类在定义时如果实现了Serilizabl ...
- Java常用关键字总结
1.abstract abstract修饰类,表示抽象的意思,抽象类可以含有非抽象变量和成员变量,也可以有普通方法和构造方法,但是不能被实例化(接口),但是可以被子类继承. public abstra ...
- java中对final关键字的理解以及使用场景
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.
- 浅析Java中的final关键字
浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...
- java常用英文解释
java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...
- JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...
- [转载]浅析Java中的final关键字
浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...
- 转载:浅析Java中的final关键字
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...
- java中的final关键字
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...
随机推荐
- JavaScript中产生标识符方式的演变
本文记录下JS中产生标示符方式的演变,从ES5到ES6,ES5及其之前是一种方式,只包含两种声明(var/function),ES6则增加了一些产生标识符的关键字,如 let.const.class. ...
- Android Native 程序逆向入门(一)—— Native 程序的启动流程
八月的太阳晒得黄黄的,谁说这世界不是黄金?小雀儿在树荫里打盹,孩子们在草地里打滚.八月的太阳晒得黄黄的,谁说这世界不是黄金?金黄的树林,金黄的草地,小雀们合奏着欢畅的清音:金黄的茅舍,金黄的麦屯,金黄 ...
- 虚拟机群安装多个hadoop集群时遇到的问题
背景,原来在我的虚拟机集群(nn1,nn2)中安装的是cdh23502,后来做升级实验,升到cdh26550,因为生产中使用的环境是cdh23502,所以再次切换回去. 切换的过程中,遇到一些问题,特 ...
- 鸿雁电器oa系统中决策支持模块效果
公司简介鸿雁电器是国内著名的建筑电器产品的生产.经营企业,同时也是国家863计划CIMS(计算机集成制造系统)应用工程示范企业.浙江省高新技术企业.浙江省专利示范企业和杭州市信息化试点企业.企业系统泛 ...
- Eclipse如何解决启动慢
一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善. 加快启动速度 1.在eclipse启 ...
- kali开启ssh
Kali 2.0安装之后需要做的事--使用SSH进行远程登录 2015年8月11日,Kali官方推出了新的kali系统2.0版本,此次升级最大的特点就是系统界面的设计理念更加先进,以及系统的升级方 ...
- iOS本地化
本地化与相机中显示英文 工程PROJECT -> info ->Localizations 添加相应的国际化语言 一.当你发现相机中显示英文,可以通过它设置 添加一项“Localize ...
- 第七课——iOS数据持久化
今天我们要学习plist.Preference.NSKeyedArchiver.Sqlite.CoreData(属性列表.偏好设置.归档.数据库.模型化对象). 首先plist就是将某些特定类,通过X ...
- Html中模态框(弹出框)使用入门
作为html学习学习模态框需要二步: 效果图 第一步学习HTML中 div的弹出 ①触发按钮 <input class="btn btn-success" i ...
- understand一些功能
功能 支持分析的语言 统计总的代码数据 统计单个文件的数据 分析代码复杂度 分析代码格式 文件的依赖关系 文件夹依赖关系 文件夹包含关系.代码量 understand提供了很多图表,同时它可以根据源码 ...