本篇主要总结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. pycharm远程SSH调用服务器python解释器教程

    该教程主要介绍pycharm远程SSH调用解释器以及建立SFTP文件传输协议: 第一步:建立SSH连接: 第二步:建立SFTP协议: (1)SSH: 配置远程python解释器 这里主要讲的是如何配置 ...

  2. C#中,子线程与主线程之间的通信是如何实现(转)

    注: 项目中按照这个方法调试成功: 通常我们会有这种需求: 一个支持慢速设备的处理类,如网络通信.串口通信.打印等 此时经常需要将线程封装在类里面,让类支持异步处理,然后发布事件或者回调委托通知主线程 ...

  3. this page isn't working (ERR_EMPTY_RESPONSE)

    特定情况触发了PHP的Call to undefined function(函数不存在)的Fatal error(致命错误),PHP异常终止执行,Apache收到PHP的异常信号时,认为PHP处理请求 ...

  4. WINDOWS配置WSUS。

    wsus的注册表文件! Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows ...

  5. Swift4.0复习访问控制与作用域

    1.访问等级: open: 可以继承,可以重写. public: “public 访问等级能用于修饰所有文件作用域的函数.对象.协议.枚举.结构体.类以及各种类型中的属性与方法.用 public 所修 ...

  6. sentinel搭建redis集群的注意事项

    一.protected-mode 默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和s ...

  7. Java基础教程:多线程基础(6)——信号量(Semaphore)

    Java基础教程:多线程基础(6)——信号量(Semaphore) 信号量 信号量(Semaphore)由一个值和一个指针组成,指针指向等待该信号量的进程.信号量的值表示相应资源的使用情况.信号量S≥ ...

  8. elk问题汇总

    解决方案: https://blog.51cto.com/michaelkang/2298689?source=dra 使用postman.  PUT请求, JSON格式

  9. 记联想SR850 Raid配置的一个bug

    管理raid阵列时,如果要删除某个指定的阵列,则需要选中阵列名而不能选中虚拟磁盘.如果选中的是虚拟磁盘,点击删除后,会删除整个阵列列表里的第一个阵列,而非虚拟磁盘所在的阵列. 过程如下 联想SR850 ...

  10. 台式电脑Bios界面设置U盘启动