第一章 权限修饰符
知识点:权限修饰符
目标
- 理解并使用权限修饰符
路径
- 概述
- 不同权限修饰符的访问能力
讲解
3.1 概述
在Java中,有四种访问权限修饰符,它们分别控制了代码中元素的可见性:
- public:公共的,所有类都可以访问
- protected:受保护的,子类及同一包中的类可以访问
- **(默认)**:没有明确修饰符,只有同一包中的类可以访问
- private:私有的,仅限于同一类访问
3.2 不同权限的访问能力
| public | protected | (默认) | private | |
|---|---|---|---|---|
| 同一类中 | √ | √ | √ | √ |
| 同一包中 | √ | √ | √ | |
| 不同包的子类 | √ | √ | ||
| 不同包的无关类 | √ |
示例代码
// 包: com.itheima.demo9_权限修饰符
public class AAA {
public void method1() {}
protected void method2() {}
void method3() {}
private void method4() {}
public void method() {
method1();
method2();
method3();
method4();
}
}
public class Test {
public static void main(String[] args) {
AAA a = new AAA();
a.method1();
a.method2();
a.method3();
// a.method4(); // 私有方法,编译报错
}
}
总结建议:
- 将成员变量设为 private,隐私保护。
- 将构造方法设为 public,方便对象创建。
- 将成员方法设为 public,便于调用。
第二章 代码块
目标
- 掌握构造代码块、静态代码块和局部代码块的使用。
路径
- 构造代码块
- 静态代码块
- 局部代码块
讲解
4.1 构造代码块
- 格式:
{} - 位置:类中,方法外
- 执行:每次调用构造方法时执行,且先于构造方法执行。
- 用途:可用于统计对象创建数量。
示例代码:
public class Person {
{
System.out.println("构造代码块执行了");
}
}
4.2 静态代码块
- 格式:
static{} - 位置:类中,方法外
- 执行:类加载时执行,只有一次。
- 用途:例如加载驱动。
示例代码:
public class Person {
private String name;
private int age;
static {
System.out.println("静态代码块执行了");
}
}
4.3 局部代码块
- 格式:
{} - 位置:方法中
- 执行:调用方法时执行。
- 用途:为了限制变量的作用域,节省内存。
示例代码:
public static void main(String[] args) {
int a = 10;
{
int b = 20; // b的作用域仅在此块内
}
// int a = 30; // 编译报错,同名变量
int b = 40; // 不冲突,作用域不同
}
第三章 static的使用
2.1 概述
static 关键字用于修饰类成员,属于类,而非某个对象。多个对象共享 static 修饰的成员。
2.2 定义和使用格式
类变量
定义格式:
static 数据类型 变量名;
示例:
public class Student {
private String name;
private int age;
public static String school = "黑马程序员学校"; // 类变量
// 构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
静态方法
定义格式:
修饰符 static 返回值类型 方法名(参数列表) {
// 执行语句
}
示例:
public static void showNum() {
System.out.println("学生人数:"+ numberOfStudent);
}
静态方法调用注意事项:
- 静态方法可以直接访问类变量。
- 它不能直接访问实例变量和实例方法。
- 在静态方法中不能使用 this 关键字。
调用格式:
类名.静态变量名;
类名.静态方法名(参数);
第四章 Object类
知识点:Object类概述
目标
- 理解Object类及其常用方法。
路径
- Object类概述
- Object类常用方法
讲解
Object类概述
java.lang.Object是Java的根类,所有类的父类。- 默认继承,主要包含11个方法。
常用方法:
public String toString()public boolean equals(Object obj)
第五章 Date类
知识点:Date类
目标
- 应用Date类。
路径
- Date类概述
- Date类构造方法
- Date类常用方法
讲解
Date类概述
java.util.Date 表示一个日期和时间,精确到毫秒。
Date类构造方法
public Date()public Date(long date)
Date类常用方法
public long getTime()public void setTime(long time)
第六章 DateFormat类
知识点:DateFormat类
目标
- 理解DateFormat的使用。
路径
- DateFormat类概述
- 格式规则
- DateFormat类常用方法
讲解
DateFormat类概述
java.text.DateFormat 是抽象类,用于日期和字符串之间转换。
格式规则
常用标识符:
y:年M:月d:日
常用方法
public String format(Date date)public Date parse(String source)
第七章 Calendar类
知识点:Calendar类
目标
- 理解Calendar类的常用方法。
路径
- Calendar类概述
- Calendar类常用方法
讲解
Calendar类概述
java.util.Calendar 表示一个日历类,抽象类,通过子类使用。
Calendar类常用方法
public static Calendar getInstance()public int get(int field)
第八章 Math类
知识点:Math类
目标
- 理解Math类的使用。
路径
- Math类概述
- Math类常用方法
讲解
Math类概述
java.lang.Math 包含基本数字运算方法,不能创建对象。
常用方法
public static int abs(int a)public static double ceil(double a)
第九章 System类
知识点:System类
目标
- 理解System类的常用方法。
路径
- System类概述
- System类常用方法
讲解
System类概述
java.lang.System 提供系统相关的静态方法。
常用方法
public static void exit(int status)public static long currentTimeMillis()
第十章 BigInteger类
知识点:BigInteger类
目标
- 学习BigInteger类的使用。
路径
- BigInteger类概述
- BigInteger类构造方法和成员方法
讲解
BigInteger类概述
java.math.BigInteger 为任意精度整数。
BigInteger类构造方法
BigInteger(String value)
第十一章 BigDecimal类
知识点:BigDecimal类
目标
- 处理浮点数运算精度问题。
路径
- BigDecimal类概述
- BigDecimal类构造方法和常用方法
讲解
BigDecimal类概述
java.math.BigDecimal 提供更精准的数据计算。
BigDecimal类构造方法
BigDecimal(double val)BigDecimal(String val)
第十二章 Arrays类
知识点:Arrays类
目标
- 学会使用Arrays类。
路径
- Arrays类概述
- Arrays类常用方法
讲解
Arrays类概述
java.util.Arrays 提供数组操作的方法。
常用方法
public static void sort(int[] a)public static String toString(int[] a)
第十三章 包装类
知识点:包装类概述
目标
- 理解包装类及其类型。
路径
- 包装类概述
讲解
包装类将基本类型封装为对象,如:
int->Integerchar->Character
总结
- 权限修饰符
- 代码块
- static的作用
- Object
- 特点
- 重写toString()与equals()
- Date类
- 构造方法与常用方法
- DateFormat类
- 格式化与解析
- Calendar类
- 获取与设置时间
- Math类
- 基本数学运算
- System类
- 系统信息与操作
- BigInteger与BigDecimal
- 大数与精确计算
- Arrays类
- 数组排序与字符串表示
- 自动装箱与拆箱
- 基本类型与包装类之间转换
- 基本类型与字符串之间的转换
评论
登录后即可评论
分享你的想法,与作者互动
暂无评论