关键字

 

标识符:

  • Java 对各种变量 、方法和类等要素命名时使用的字符序列称为标识符
  • 技巧:凡是自己可以起名字的地方都叫标识符

定义合法标识符规则:

  • 由26个英文字母大小写,0-9 ,_或 $ 组成
  • 数字不可以开头。
  • 不可以使用关键字和保留字,但能包含关键字和保留字。
  • Java 中严格区分大小写,长度无限制。
  • 标识符不能包含空格。

 

Java 中的名称命名规范:

  • 包名 :多单词组成时所有字母都小写 xxxyyyzzz
  • 类名、接口名 :多单词组成时,所有单词的首字母大写 XxxYyyZzz
  • 变量名、方法名 :多单词组成时,第一个单词首字母小写,第二个单词开始每个
  • 单词首字母大写: xxxYyyZzz
  • 常量名 :所有字母都大写。多单词时每个单词用下划线连接 XXX_YYY_ZZZ

 

关键字 

  • 定义: 被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词)
  • 特点: 关键字中所有字母都为小写

Java 保留字:现有 Java 版本尚未使用 但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字goto 、 const

 

this关键字的使用:
* 1.this可以用来修饰、调用:属性、方法、构造器
*
* 2.this修饰属性和方法:
* this理解为:当前对象 或 当前正在创建的对象
*
* 2.1 在类的方法中,我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。但是,
* 通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式
* 的使用"this.变量"的方式,表明此变量是属性,而非形参。
*
* 2.2 在类的构造器中,我们可以使用"this.属性"或"this.方法"的方式,调用当前正在创建的对象属性或方法。
* 但是,通常情况下,我们都选择省略"this."。特殊情况下,如果构造器的形参和类的属性同名时,我们必须显式
* 的使用"this.变量"的方式,表明此变量是属性,而非形参。
*
* 3. this调用构造器
* ① 我们在类的构造器中,可以显式的使用"this(形参列表)"方式,调用本类中指定的其他构造器
* ② 构造器中不能通过"this(形参列表)"方式调用自己
* ③ 如果一个类中有n个构造器,则最多有 n - 1构造器中使用了"this(形参列表)"
* ④ 规定:"this(形参列表)"必须声明在当前构造器的首行
* ⑤ 构造器内部,最多只能声明一个"this(形参列表)",用来调用其他的构造器

 

super关键字的使用
* 1.super理解为:父类的
* 2.super可以用来调用:属性、方法、构造器
* 3.super的使用:调用属性和方法
* 3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用
* 父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."
* 3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的
* 使用"super.属性"的方式,表明调用的是父类中声明的属性。
* 3.3 特殊情况:当子类重写了父类中的方法以后,我们想在子类的方法中调用父类中被重写的方法时,则必须显式的
* 使用"super.方法"的方式,表明调用的是父类中被重写的方法。
* 4.super调用构造器
* 4.1 我们可以在子类的构造器中显式的使用"super(形参列表)"的方式,调用父类中声明的指定的构造器
* 4.2 "super(形参列表)"的使用,必须声明在子类构造器的首行!
* 4.3 我们在类的构造器中,针对于"this(形参列表)"或"super(形参列表)"只能二选一,不能同时出现
* 4.4 在构造器的首行,没有显式的声明"this(形参列表)"或"super(形参列表)",则默认调用的是父类中空参的构造器:super()
* 4.5 在类的多个构造器中,至少有一个类的构造器中使用了"super(形参列表)",调用父类中的构造器

* 子类对象实例化的全过程
* 1. 从结果上来看:(继承性)
* 子类继承父类以后,就获取了父类中声明的属性或方法。
* 创建子类的对象,在堆空间中,就会加载所有父类中声明的属性。
* 2. 从过程上来看:
* 当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器,...
* 直到调用了java.lang.Object类中空参的构造器为止。正因为加载过所有的父类的结构,所以才可以看到内存中有父类中的结构,子类对象才可以考虑进行调用。
* 明确:虽然创建子类对象时,调用了父类的构造器,但是自始至终就创建过一个对象,即为new的子类对象。

 

 

 

JDK中主要的package介绍

 

  • java.lang 包含一些 Java 语言的核心类如String 、Math 、Integer 、System 和Thread 提供常用功能
  • java.net 包含执行与网络相关的操作的类和接口 。
  • java.io 包含能提供多种输入输出功能的类 。
  • java.util 包含一些实用工具类 如定义系统特性 、接口的集合框架类 、使用与日期日历相关的函数 。
  • java.text 包含了一些 java 格式化相关的类
  • java.sql 包含了 java 进行 JDBC 数据库编程的相关类接口

 

import:导入

  • 在源文件中使用 import 显式的导入指定包下的类或接口
  • 声明 在包的声明和类的声明之间。
  • 如果需要导入多个类或接口,那么就并列显式多个import 语句即可
  • 举例 :可以使用 java.util.* 的方式,一次性导入 util 包下所有的类或接口。
  • 如果导入的类或接口是 java.lang 包下的,或者是当前包下的,则可以省略此import 语句。
  • 如果在代码中使用不同包下的同名的类。那么就需要使用类的全类名的方式指明调用的是哪个类。
  • 如果已经导入 java.a 包下的类。那么如果需要使用 a 包的子包下的类的话,仍然需要导入。
  • import static 组合的使用:调用指定类或接口下的静态的属性或方法

 

 

* static关键字的使用
* 1.static:静态的
* 2.static可以用来修饰:属性、方法、代码块、内部类
* 3.使用static修饰属性:静态变量(或类变量
* 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)
* 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的
* 非静态属性时,不会导致其他对象中同样的属性值的修改。
* 静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致
* 其他对象调用此静态变量时,是修改过了的。
* 3.2 static修饰属性的其他说明:
* ① 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用
* ② 静态变量的加载要早于对象的创建。
* ③ 由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。
** ④ 类变量 实例变量
* 类 yes no
* 对象 yes yes
* 3.3 静态属性举例:System.out; Math.PI;
** 4.使用static修饰方法:静态方法
* ① 随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
* ② 静态方法 非静态方法
* 类 yes no
* 对象 yes yes
* ③ 静态方法中,只能调用静态的方法或属性
* 非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性
* 5. static注意点:
* 5.1 在静态的方法内,不能使用this关键字、super关键字
* 5.2 关于静态属性和静态方法的使用,大家都从生命周期的角度去理解。
* 6. 开发中,如何确定一个属性是否要声明为static的?
* > 属性是可以被多个对象所共享的,不会随着对象的不同而不同的。
* > 类中的常量也常常声明为static
* 开发中,如何确定一个方法是否要声明为static的?
* > 操作静态属性的方法,通常设置为static的
* > 工具类中的方法,习惯上声明为static的。 比如:Math、Arrays、Collections

 

* final:最终的

* 1. final可以用来修饰的结构:类、方法、变量
* 2. final 用来修饰一个类:此类不能被其他类所继承。
* 比如:String类、System类、StringBuffer类
* 3. final 用来修饰方法:表明此方法不可以被重写
* 比如:Object类中getClass();
* 4. final 用来修饰变量:此时的"变量"就称为是一个常量
* 4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
* 4.2 final修饰局部变量:
* 尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值
* 以后,就只能在方法体内使用此形参,但不能进行重新赋值。
* static final 用来修饰属性:全局常量

 

posted @ 2021-08-15 16:36  dydyTom  阅读(205)  评论(0)    收藏  举报