JAVA笔记整理(七),JAVA几个关键字
本篇主要总结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几个关键字的更多相关文章
- 菜鸡的Java笔记 第七 - java 数组
数组的基本概念 笔试中经常出现的试题或是问题 1.1 概念 数组指的是一组相关变量的集合 如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- java 笔记整理
在19寒假对java基础进行自学,总结的笔记整理出来 ==================================================== 排序查找 冒泡排序法1.一共会比较数组元 ...
- JAVA笔记整理(四),JAVA中的封装
什么是封装 所谓的封装就是把数据项和方法作为一个独立的整体隐藏在对象的内部,具体的实施细节不对外提现,仅仅保留有限的外部接口,封装外的用户只能通过接口来进行操作.就好比开启一台电脑需要进行很多个步骤, ...
- Java笔记(七)
File类: import java.io.File; import java.io.IOException; public class Demo{ public static void main(S ...
- JAVA笔记整理(一),JAVA介绍
JAVA语言的版本: J2SE(Java2 Platform Standard Edition,java平台标准版),后更名为:JAVA SE J2EE(Java 2 Platform,Enterpr ...
- 【Java笔记】配置文件java.util.Properties类的使用
配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...
- Java笔记12:Java对象排序
代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...
- Java笔记整理列表
整理Java相关知识点. 2018-11-20 1:Java入门学习 2:Java进阶
随机推荐
- Python - Django - 模板语言之 Tags(标签)
标签使用 {% %} 注释语句:{# #} for 循环: views.py: from django.shortcuts import render, redirect, HttpResponse ...
- python基础教程项目五之虚拟茶话会
python基础教程项目五之虚拟茶话会 几乎在学习.使用任何一种编程语言的时候,关于socket的练习从来都不会少,尤其是会写一些局域网的通信的东西.所以书上的这个项目刚好可以练习一下socket编程 ...
- LeetCode_374. Guess Number Higher or Lower
374. Guess Number Higher or Lower Easy We are playing the Guess Game. The game is as follows: I pick ...
- Spring Boot系列之-helloword入门
一. What: Spring Boot是什么?以1.4.3.RELEASE为例,官方介绍为:http://docs.spring.io/spring-boot/docs/1.4.3.RELEASE/ ...
- 【kubernetes 自带监控】 container级别cadvisor+kubelet,集群级别apiserver
apiserver https://feisky.gitbooks.io/kubernetes/components/apiserver.html kube-apiserver 支持同时提供 http ...
- SQL Delta实用案例介绍,很好的东西,帮了我不少忙
SQL Delta实用案例介绍 概述 本篇文章主要介绍SQL DELTA的简单使用.为了能够更加明了的说明其功能,本文将通过实际项目中的案例加以介绍. 主要容 SQL DELTA 简介 ...
- robot:接口入参为图片时如何发送请求
https://www.cnblogs.com/changyou615/p/8776507.html 接口是上传图片,通过F12抓包获得如下信息 由于使用的是RequestsLibrary,所以先看一 ...
- DVWA 安全测试靶机本地搭建
前期的搭建步骤这里就不多做表述了,网上文章很多,这里主要讲后续会遇到的问题和需要修改的地方. 首先将config-inc.php.dist 修改为config-inc.php 设置Key值 $_ ...
- [转帖]K8s 工程师必懂的 10 种 Ingress 控制器
K8s 工程师必懂的 10 种 Ingress 控制器 https://www.kubernetes.org.cn/5948.html 控制器有好多啊. 2019-10-18 23:07 中文社区 分 ...
- JDBC缓冲池配置druid.properties
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mytest?characterEncoding=UTF-8 ...