一、this
- 相当于是指向本身的对象变量
- 在方法内部使用,相当于对象的引用
- this关键字可以区分出来属性和局部变量
- 在构造器中使用,相当于是初识对象
- this关键字必须在构造器的首行
二、super
-
在Java类中使用super来调用父类中的指定操作
-
尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员
- super的追溯不仅限于直接父类(可以是更高级父类)
- super和this的用法相像,this代表本类对象的引用,super代表父类的内存
空间的标识
-
调用父类的构造器
- 子类中所有的构造器 默认都会访问父类中 空参数的构造器
- 当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super( 参数列表)语句指定调用本类或者父类中相应的构造器。同时,只能”二选一”,且必须放在构造器的首行
- 如果子类构造器中既未显式调用父类或本类的构造器,且父类中又
没有无参的构造器,则 编译出错
区别点 | this | super |
---|---|---|
访问属性 | 访问本类中的属性,如果本类没有此属性则从父类中继续查找 | 直接访问父类中的属性 |
调用方法 | 访问本类中的方法,如果本类没有此方法则从父类中继续查找 | 直接访问父类中的方法 |
调用构造器 | 调用本类构造器,必须放在构造器的首行 | 调用父类构造器,必须放在子类构造器的首行 |
三、package
- 作为Java源文件的第一条语句,指明该文件中定义的类所在
的包。(若缺省该语句,则指定为无名包) - 包可以包含类和子包,划分项目层次,便于管理
- 解决类命名冲突的问题
- 控制访问权限
- jdk中的主要包介绍
- java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和
Thread,提供常用功能 - java.net----包含执行与网络相关的操作的类和接口。
- java.io ----包含能提供多种输入/输出功能的类。
- java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日
期日历相关的函数。 - java.text----包含了一些java格式化相关的类
- java.sql----包含了java进行JDBC数据库编程的相关类/接口
- java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这
些类被用来构建和管理应用程序的图形用户界面(GUI)。 B/S C/S
- java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和
四、import
-
为使用定义在不同包中的Java类,需用import语句来引入指定包层次下所需要的类或全部类(.*)
-
在源文件中使用import显式的导入指定包下的类或接口
-
声明在包的声明和类的声明之间。
-
如果需要导入多个类或接口,那么就并列显式多个import语句即可
-
举例:可以使用java.util.*的方式,一次性导入util包下所有的类或接口。
-
如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import语句。
-
如果在代码中使用不同包下的同名的类。那么就需要使用类的全类名的方式指明调用的
是哪个类。 -
如果已经导入java.a包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。
-
import static组合的使用:调用指定类或接口下的静态的属性或方法
五、static
- 类属性作为该类各个对象之间共享的变量。 在设计类时, 分析 哪些属性 不因对象的不同而改变 ,将这些属性设置为类属性。相应的方法设置为类方法。
- 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于 不需要创建对象就可以调用类方法 ,从而简化了方法 的 调用。
- 使用范围:在Java类中,可用static修饰属性、方法、代码块、内部类
- 使用特点
- 随着类的加载而加载
- 优先于对象存在
- 修饰的成员,被所有对象所共享
- 访问权限允许时,可不创建对象,直接被类调用
六、关键字
- 在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。
- final 标记的类不能被继承 。提高安全性,提高程序的可读性。
- final 标记的方法不能被子类重写。
- final 标记的变量( 成员变量或局部变量) 即称为常量 。名称大写,且只能被赋值一次。