第五讲 常用系统类、包、访问控制符
一.Object类是Java中所有类的最终祖先。
二.Random类提供了一系列用于生成随机数的方法
import java.util.*;
public class Test {
public static void main(String[] args) {
Random r = new Random();
int a = r.nextInt(10);// 0--9 的随机数 包含0,不包含10
System.out.println(a);
int a1 = r.nextInt(10)+1;// 1--10
System.out.println(a1);
int b = r.nextInt();// int范围类 随机的
System.out.println(b);
double c = r.nextDouble();// 0.0----1.0 包含0.0 不包含1.0
System.out.println(c);
System.out.println(r.nextInt()%5);//得到-4到+4
}
}
三.如何用SimpleDateFormat设置时间:
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Sdf.format(new Date());
四.访问控制符
访问控制符范围 | ||||
访问控制 |
private |
(缺省)default |
protected |
public |
同一类中 |
√ |
√ |
√ |
√ |
同一个包中其他类 |
|
√ |
√ |
√ |
不同包中子类 |
|
|
√ |
√ |
不同包中非子类 |
|
|
|
√ |
五.面向对象三大特点:封装、继承、多态。
六.封装的作用
使用访问控制符可以将对象中不允许外部程序直接访问的重要属性,隐藏在对象内部。这一过程在Java中叫封装。
简单来说,就是在类中声明属性,然后载生成getset方法。
七.Java的多重继承:
在C++等面向对象的语言中存在多继承,但是在Java中不允许多继承,但是Java支持多重继承。
下面是我做的案例:
八.方法重写
当子类继承父类时,子类获得了父类的属性和方法,但是有时候父类的方法不能满足子类的需求,此时可以再子类中重写父类的这个方法。
重点:重载与重写的区别:
重载是重写类的方法,改参数列表,
重写是重写类的方法,也重写参数列表。
注意:
方法重写时,子类中的方法的访问控制符不能比父类更严格。
如果父类中的方法时用private修饰的,在子类中就不叫重写.(因为父类中用private修饰的方法和属性只能被自己使用,子类根本就无法访问,所以不存在重写。)
九.Final、finally与finalize的区别:
final: 最终的;决定性的;不可更改的 final修饰的变量是常量(常量的值不可以改变)
final修饰的方法不可以被重写
Finally是捕获异常
Finalize是java回收垃圾的一个方法
十.super
super关键字不能在静态方法中使用
子类构造方法中使用super调用父类构造方法