本篇主要总结JAVA中的super、this、final、static、break、continue

1、super

super主要用在继承当中,表示调用父类的构造函数。

1.如果要在子类方法中调用父类被覆盖的实例方法,则可以使用super限定来调用父类被覆盖的实例方法

  

class B {
public B() { } public void C() {
System.out.println("B中的C");
}
} public class A extends B {
public void C() {
System.out.println("A中的C");
} public void D() {
super.C();
} public static void main(String[] args) {
A a = new A();
a.D();
}
} 输出结果是:B中的C

  

  2.如果在构造器中使用super,则super用于限定该构造器初始化的是该对象从父类继承得到的实例变量,而不是该类自己的实例变量

  3.如果父类定义了无参的构造方法,那么子类可以随便定义构造方法,系统会自动在构造方法的第一行隐式添加一个super()来调用父类的无参构造方法

class B {
public B() {
System.out.println("父类的构造方法");
}
} public class A extends B {
public A() {
//super(); 这里隐式添加了一个super()
System.out.println("子类的构造方法");
} public static void main(String[] args) {
A a = new A();
}
}
输出结果为:父类的构造方法
子类的构造方法

  如果父类没有定义无参构造方法,那么子类只可以定义和父类构造方法的参数列表相同个数的子类构造方法,然后在构造方法中显式调用父类的super(参数...)

  如果父类同时定义了有参的和无参的构造方法,那么子类可以随便定义构造方法,并且子类构造方法的第一行可以随便使用加或者不加参数的super()来调用父类的构造方法

2、this关键字

在JAVA中,this关键字指向调用该方法的对象。有以下作用

1.调用当前类的属性和方法

2.调用构造方法

public class People {
private String name;
private int age; public People(String name, int age) {
this();
this.name = name;
this.age = age; } public People() {
System.out.println("无参构造方法");
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public void say() {
System.out.println(getName() + "-----" + getAge());
} public static void main(String[] args) {
People p = new People("王菲", 50);
p.say();
} }

3、final关键字

  1.final在JAVA中被称为完结器,表示最终的意思

  2.final能声明类、方法和属性:

使用final声明的类不能被继承(类似于古代的太监,哈哈)

使用final声明的方法不能被重写

使用final声明的变量变成常量,不能被修改

4、static关键字

static在JAVA中表示静态的,用来修饰方法、成员变量、代码块、内部类等(外部类不能使用static)

1.使用static声明的属性被成为全局属性

2.使用static声明的方法成为静态方法,可以使用类名直接调用

3.  静态成员不能直接访问非静态成员,即使是静态内部类,也不可以访问外部类  的非静态对象

于是我们可以将类级别的变量声明为static。静态变量是属于类的,而不是属于类创建的对象或实例。static经常与final一起使用来修饰一个可供所有对象共同使用的常量资源。

5、break关键字

break经常被用在循环中,用来结束循环,当触发某个条件后,执行break,程序不再管循环是否执行完毕,直接跳出循环,执行循环下面的代码

break完全终止循环

6、continue关键字

continue被用于跳出循环,当满足某个条件后,跳出当前循环,执行下一个循环。

continue只是跳出本次循环,不会终止

JAVA笔记整理(七),JAVA几个关键字的更多相关文章

  1. 菜鸡的Java笔记 第七 - java 数组

    数组的基本概念     笔试中经常出现的试题或是问题    1.1 概念        数组指的是一组相关变量的集合         如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...

  2. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  3. java 笔记整理

    在19寒假对java基础进行自学,总结的笔记整理出来 ==================================================== 排序查找 冒泡排序法1.一共会比较数组元 ...

  4. JAVA笔记整理(四),JAVA中的封装

    什么是封装 所谓的封装就是把数据项和方法作为一个独立的整体隐藏在对象的内部,具体的实施细节不对外提现,仅仅保留有限的外部接口,封装外的用户只能通过接口来进行操作.就好比开启一台电脑需要进行很多个步骤, ...

  5. Java笔记(七)

    File类: import java.io.File; import java.io.IOException; public class Demo{ public static void main(S ...

  6. JAVA笔记整理(一),JAVA介绍

    JAVA语言的版本: J2SE(Java2 Platform Standard Edition,java平台标准版),后更名为:JAVA SE J2EE(Java 2 Platform,Enterpr ...

  7. 【Java笔记】配置文件java.util.Properties类的使用

    配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...

  8. Java笔记12:Java对象排序

    代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...

  9. Java笔记整理列表

    整理Java相关知识点. 2018-11-20 1:Java入门学习 2:Java进阶

随机推荐

  1. 转 Zabbix 3.2.6通过SNMP和iDRAC监控DELL服务器

    https://www.cnblogs.com/saneri/p/7772641.html

  2. LeetCode_303. Range Sum Query - Immutable

    303. Range Sum Query - Immutable Easy Given an integer array nums, find the sum of the elements betw ...

  3. idea的alt+enter可以从菜单点吗

    在idea中,当java某个类的包没有引入的时候,可以通过alt+enter来实现包的引入,那么可以通过菜单按钮,或者右键的方式点出来吗? 我们知道eclipse如果某个类为止,放在这个报错的类上,e ...

  4. easyui datagrid 让某行复选框置灰不能选

    easyui中datagrid 让某行复选框置灰不能进行选中操作,以下为主要部分的code. //加载完毕后获取所有的checkbox遍历 onLoadSuccess: function(data){ ...

  5. Andrew Ng机器学习课程7

    回顾 通过定义训练集S={(x(i),y(i));i=1,2,...,m}与线性决策平面(w,b)之间的function margin γ^和geometric margin γ .好的分类决策平面特 ...

  6. 高级UI-沉浸式设计

    关于沉浸式设计,在国内指的是Toolbar和系统状态栏相统一,而谷歌官方给出的沉浸式则是指整个界面为UI所用,而这里所说的沉浸式则是指的前者,涉及4.4和5.0及以上,4.4以下的Android做不出 ...

  7. 利用单臂路由实现vlan间路由

    本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下

  8. sshd_config参数说明

    SSHD_CONFIG(5) OpenBSD Programmer's Manual SSHD_CONFIG(5)名称 sshd_config - OpenSSH SSH 服务器守护进程配置文件大纲 ...

  9. [转帖]CentOS 7 x64 安装 Ceph

    CentOS 7 x64 安装 Ceph https://www.cnblogs.com/jicki/p/5801712.html 改天尝试一下. k8s 可以使用ceph 作为 pv和pvc的后端存 ...

  10. java抽象类及接口

    Java抽象类: 抽象类特点:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被extends [抽象 ...