静态成员变量:类变量 Math.PI
静态成员方法:类方法 public static void main()、Math.sqrt()
静态代码块:static{……}
类字节码加载
静态变量分配空间、赋值
静态方法分配入口地址
执行静态代码块
new操作——创建对象
实例……
static修饰的成员属于类所有,是每个实例(对象)所共享的
只能直接调用类方法和类变量
不能直接调用实例方法和实例变量
静态产生早于实例
对象的组合
不同包下面的类名称可以相同
其他包下无法使用默认包下的类
导入包:import cn.sdut.Mine/import cn.sdut.*(全部)
使用java.lang包中的类时,可以直接使用,不必使用import来进行导入
访问修饰符
public 访问不受限制
private 只有本类可以访问
protected 本类、同包类及其非同包子类可以访问
默认 同包可以访问
abstract
含有抽象方法的类,一定是抽象类
抽象类不一定含有抽象方法
抽象方法只提供方法的声明,不提供方法体
不能用来生成对象,只能被继承
子类继承后实现问完成的抽象方法,否则亦为抽象类
成员变量:类的属性
局部变量:方法内定义
类变量\静态变量:static int c=1;所有对象共用
成员变量隐藏:方法内优先调用局部变量,this.a调用成员变量
主方法中可直接调用静态变量
方法返回类型:最多一个值,可以为基本类型,也可为引用数据类型
不定长参数:int… nums;
声明的不定长参数在参数的最后一个
编译器会将其解释为数组
值传递:主函数中不发生改变
地址传递:数值会发生改变
方法的重载:
两方法的访问权限相同,名称相同,参数不同
返回值随意
除了java.lang其他都需要import引用
同包下的类的protected、public可以访问
当需要使用其他包时:import 包名;
静态方法:static
只能直接调用类方法和类变量
不能直接调用实例方法和实例变量
静态产生早于实例
实例方法(非静态方法):
由某个对象调用
实例方法可直接调用实例方法
可直接调用类方法
一般用类名调用类方法,也可用对象调用
Integer.toString(n, x):把n转换为x进制
str.toUpperCase(); str中的小写字母转换为大写字母
str.toLowerCase(); str中的大写字母转换为小写字母