内部类:
(把一个类定义到另一个类里面)
当一个类 定义再另一个类内部时,这个类就是内部类
外部类: 内部类所再得类 以及其他的类都是外部类
面向对象的角度理解:当事物内部还有事物时,
使用内部类 来描述
访问 问题
内部类可以访问所在外部类的所有成员,包括私有的在内
外部类要想访问内部类,必须创建对象
间接访问:
Outer outer = new Outer();
outer.function();
直接访问:
内部类局部变量 直接名字
内部类成员变量 this.名字
外部类成员变量 外面类名.this.名字
内部类的分类:
当内部类定义在成员变量位置时,可以被成员修饰符 修饰,修饰后,会具备修饰符的特点
1.private :私有内部类不能直接访问,
2.static: 访问出现局限性
局部内部类中,是指定义在局部位置上的类
3.
4.匿名内部类:本质就是其他内部类的简写,可以理解为有点胖的匿名对象,
格式: new 父类类名/接口 (){}
(匿名对象 没有名字的对象)new 类名()
各种类
1.
java.lang
Math Math类包含执行基本数字运算的方法,
如基本指数,对数,平方根和三角函数。
public final class Math extends Object
记住
static double PI 圆周率
System.out.println("Math.PI = " + Math.PI);
static int abs(int a) 绝对值
System.out.println("Math.abs(-10) = " + Math.abs(-10));
static double cbrt(double a) 立方根
System.out.println("Math.cbrt(8) = " + Math.cbrt(8));
static double ceil(double a) 天花板函数 / 向上取整
System.out.println("Math.ceil(12.99) = " + Math.ceil(12.99));// 13
System.out.println("Math.ceil(12.01) = " + Math.ceil(12.01));// 13
static double floor(double a) 地板函数 / 向下取整
System.out.println("Math.floor(12.99) = " + Math.floor(12.99));// 12
System.out.println("Math.floor(12.01) = " + Math.floor(12.01));// 12
static int max(int a, int b)
System.out.println("Math.max(110,120) = " + Math.max(110,120));
static int min(int a, int b)
static double pow(double a, double b) a的b次幂
static double random()
static long round(double a) 四舍五入
static int round(float a)
System.out.println("Math.round(12.99) = " + Math.round(12.99));
System.out.println("Math.round(12.01) = " + Math.round(12.01));
System.out.println("Math.round(12.49) = " + Math.round(12.49));
static double sqrt(double a) 平方根
手册
{可以看父类 ,第一句话,很难得话 会有例子,版本开始,
成员变量
静态变量
构造器 数学方法得构造器被私有了
函数
最后一句 从父类继承得方法}
2.
System 含有一些有用的字段和方法 不能被实例化
构造器被藏起来了 ,私有化构造器
err 错误输出
in 输入
out 输出
3.Date
表示特点的瞬间 可以精确到毫秒
4.Arrays
包含数组 ,排序和搜索的各种方法
当指定数组因为用NULL 则会抛出空指针异常
8.0 /11 /17 长期般
3.Date
类 Date 表示特定的瞬间,精确到毫秒。
Date()
Date(long date)