Java学习笔记-类和对象
(编程的两个核心概念)
[[toc]]
基本内容
类的访问控制权
修饰符 | 同类 | 同包 | 子类 | 不同包之间的通用性 |
---|---|---|---|---|
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
默认 | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |
static数据与成员
-
staitc 数据
-
static方法
this指针
- 代替对象,访问对象的数据
- 作为返回值
- 在构造方法中调用另一构造方法
final修饰符
- final放在类前:表示终结类,不能被继承
- final放在方法前:表示终结方法,不能被任何派生的子类覆盖
- final放在变量之前:表示初始化后就不能改变
方法重载
-
方法名
相同但参数表
一定 不同
方法中参数传递的问题
实参:调用时传递给方法的实际参数
形参: 在定义方法名和方法体时使用的参数
Java基础类库
语言包java.lang
Object
所有类的父类
定义所有对象必须有的状态的行为,可直接调用或重写基本方法
String与StringBuffer的比较
两者都是用来处理字符串,功能相似,但StringBuffer比String功能更丰富些。两者内部实现方式不同,String类对象创建后再更改就要创建新对象,而StringBuffer创建后对其修改只是在原有的内存地址上进行操作,不生成新对象,内存上更有优势,更节省资源。
Math
变量和方法都是公有静态的,且为终结类(fianl)
System、Runtime
System是公共(public)静态(static)终结类(final),不能实例化,不能被继承。
System.in //标准输入,表示键盘
System.out //标准输出,表示显示器
System.err //标准错误输出
每个Java应用程序都会有一个Runtime类的对象,其作用在于使应用程序与运行环境之间可以交互,可直接访问运行时的资源。
java.lang 一些常用的子包
java.lang.annotation:为java语言的注释工具提供库支持。
java.lang.management:用于监管JVM及在其运行的操作系统。
java.lang.ref:垃圾回收处理
java.lang.reflect:提供一个类的构造方法、方法和限定符的功能,还可以动态创建和访问数组
涉及reflection反射机制。通过对象反过来得出类的相关信息。
java.util
包括集合框架、事件模型、日期和时间工具和各种实用工具类
- Date
- Canlender
- DateFormat
- java.time
网友评论