在java中有很多关键字,主要讲一下一些比较难懂的关键字
1.访问限定符
public:在同一个工程里可以使用
protected:在同一个包下可以使用或者是不同包的子类
默认的:在同一个包下可以被使用
private:只能是在一个类中使用
以上属性按照开放性从大到小
子类继承父类时,访问限定符只能放大或相同不能缩小。
原因:子类继承父类以后,子类重写父类的一些方法,如果创建一个父类的对象,调用方法,因为子类重写了,因此会调用子类的方法,如果子类的访问限定符比父类小,那么对象就不能调用子类中的方法了。会报错。
class A{
protected String name;
int num;
public void study(){
System.out.println("父类的学习!");
}
}
class B extends A{
public static void main(String []args){
B b=new B();
String c=b.name;
int d=b.num; //error!!!,默认的访问限定只能在同一个包下使用 A a=new A();
a.study();
}
private void study(){
System.out.println("子类的学习!");
}
}
this 和super
this: 用法一 指调用的当前对象,哪个对象调用了setName这个方法,this就这个对象
class A{
protected String name;
int num;
public void setName(String name){
this.name=name;
}
}
this:用法二 在构造方法中指构造方法,但是在一个构造方法this必须在第一行,每个构造方法都可以使用this
public class A{
public String name;
public int num;
public A() {
this("默认");
}
public A(String name) {
this.name = name;
}
public A(int num){
this("调用");
this.num=num;
}
}
super的用法和this的第二种用法一样,只是用来调用父类的构造方法,同时也可以调用父类的方法
class B extends A{
public static void main(String []args){
B b=new B();
b.study();
}
private void study(){
super.study(); //调用父类的study方法
}
public B(){
super(); //调用父类的构造方法
}
}
3.final 可以用来定义类,属性,方法, 变量
final定义类的时候表示该类不能被继承,但是该类中的一些属性是可以被修改的
final定义属性和变量的时候表示该属性或者是变量只能被赋值一次,并且不能再被修改
public final class A{
} // 表示不能被继承
public final int num=100; //表示只能赋值一次
public final void trst(){ //表示不能被重写
}
4.static 可以定义属性,方法,代码块
static 修饰属性表示这一个类所有的对象共同使用的一个变量指向同一个地址,一个对象改变该属性,那么所有的对象 的该属性都相应的变化了。
static修饰方法表示这个方法的调用只和类相关,与对象无关,对象时无法调用静态方法的。
static的属性和方法只能通过类名来调用。
静态代码块在类被创建的时候就执行了静态代码块中的代码。
代码块用来初始化数据,在调用函数之前就会调用该代码块中代码。
public class A{
public A(){
System.out.println("A");
}
public static void study(){
System.out.println("B");
}
static {
System.out.println("C");
}
{
System.out.println("D");
}
public static void main(String []args){
A a=new A();
a.study();
}
}
输出结果是: CDAB
public class A{
public A(){
System.out.println("A");
}
public static void study(){
System.out.println("B");
}
static {
System.out.println("C");
}
{
System.out.println("D");
}
public static void main(String []args){
A a=new A();
}
}
输出结果是: C
分享到:
相关推荐
### Java关键字总结 Java是一种广泛使用的面向对象编程语言,它具备简单性、可移植性、高性能等特点。在Java中,关键字具有特殊的语法含义,不能用作标识符(例如变量名或方法名)。以下是对给定文件中提到的Java...
Java 关键字、标识符、注释、转义字符详解 Java 语言中有四个重要的概念:关键字、标识符、注释和转义字符。这些概念是 Java 语言的基础,理解这些概念对于编写 Java 代码非常重要。 一、Java 关键字 Java 关键字...
### Java关键字分类解释 #### 一、类与接口定义关键字 - **class**: 在Java中,`class`关键字用于声明一个类。类是面向对象编程的基本单元,它定义了一组属性(成员变量)和方法(成员函数),这些共同构成了一个...
Java关键字大全 Java关键字大全是Java编程语言中最基本和最重要的组成部分。这些关键字是Java语言的基础构建块,用于定义类、方法、变量、控制流、异常处理等。了解和掌握Java关键字是每一个Java开发者必备的技能。...
首先,让我们来谈谈“Linux中Java变量与java关键字”。在Java编程中,变量是存储数据的容器,它们可以是基本类型(如int、float、boolean等)或引用类型(如对象)。在Linux环境下,Java程序的运行与Windows或Mac...
这篇文档《Java关键字详细解》将深入探讨Java中的关键字及其用途。 首先,我们来看看Java中的主要关键字。`public`、`private`、`protected`是访问修饰符,用于控制类、方法和变量的访问权限。`public`可以被任何...
### Java关键字详解:掌握编程语言的核心 #### 一、Abstract:抽象类与抽象方法的关键 在Java中,`abstract`关键字被用于定义抽象类和抽象方法。抽象类是一种特殊的类,它不能被实例化,即不能创建其对象,但可以...
Java关键字是编程的基础,它们是Java语言预定义的标识符,具有特殊含义并被Java编译器识别。在Java中,一共有51个关键字(包括保留字),但描述中提到的是48个,可能是因为某些关键字在特定上下文不常用或者被归类到...
### Java关键字详解 #### 概述 Java是一种广泛使用的面向对象编程语言,它拥有丰富的关键字集,用于控制程序的行为和结构。Java关键字是由Java语言预定义的标识符,具有特殊的含义,不能用作变量名、方法名或类名等...
Java关键字是编程的基础,它们是Java语言预定义的、具有特殊含义的标识符,不能作为变量名、方法名或类名。以下是对50个Java关键字的详细解释: 1. **abstract**:用于声明抽象类或抽象方法,不包含具体实现。 2. ...
JAVA关键字列表 Java是一种面向对象的编程语言,具有多种关键字,用于控制程序的执行、定义变量、类和方法等。本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程...
Java关键字大全 Java语言中有多种关键字,每个关键字都有其特定的用途和作用。下面是Java关键字大全的详细解释: 1. abstract关键字 abstract关键字可以修改类或方法。abstract类可以扩展(增加子类),但不能...
该文档主要介绍了java关键字的用法及说明
### Java关键字解析 Java是一种广泛使用的面向对象编程语言,它为开发者提供了丰富的特性和功能,以简化复杂的软件开发过程。Java的关键字是预定义的保留字,在Java编程中具有特殊的含义和用途。本文将深入探讨Java...
通过这份总结,我们可以看到Java关键字在定义行为和数据时起到的作用。理解这些关键字的含义和使用方式是掌握Java语言基础的关键。这些概念包括区分对象内部变量和方法、处理继承关系中的方法覆盖、定义类级别的属性...
Java关键字列表 上面列出了Java所有的关键字
整理JAVA关键字信息
Java 关键字是编程语言中预定义的具有特殊含义的标识符,它们是构建和管理程序结构的关键元素。本文将详细解析 Java 中的访问控制关键字,以及类、方法和变量修饰符。 首先,我们来看看访问控制关键字: 1. **...