类与构造方法
类的定义
[修饰符] class 类名 [extends 父类名] [imlements 类实现的接口列表]{
数据成员 (类的属性)
成员方法(方法)
}
类体中包括若干属性和若干方法
特殊的方法:构造器
1 与类同名
2 没有返回值类型
3 一个类可提供多个构造方法
如果一个类未指定构造方法,则系统自动提供一个无参构造方法(构造器)。但如果自定义了构造方法,则系统不再提供无参构造方法。
属性初始化的执行顺序
定义时赋值(例如用构造器赋值)--->初始代码块----->构造方法
关于this
是出现在类的实例方法.初始化代码块,构造方法中
用于代表使用该方法的当前对象的引用
用this作为前缀,访问当前对象的属性或方法
1 使用this区分当前作用域中同名的不同变量
privata int x,y;//属性
public Point(int x,int y){ //构造方法
this.x = x; this.y = y;//指的是类中的成员变量赋值给方法中的局部变量
}
2 把当前对象引用作为参数传递给另一个方法
3 一个构造方法中调用另一个构造方法
int x,y,z;
public Point(int x,int y){
this.x = x; this.y = y
}
public Point(int x,int y,int z){//另一个构造器
this(x,y);//直接调用构造器传 且要放在此方法的第一句
this.z =z;
}
static修饰的方法不能用this
封装
类的封装
指在定义一个类时,进行以下操作
1 将类中的属性私有化,即使用private修饰属性
2 在类中提供公用的可以获取属性值的getXxx方法 setXxx方法(对于boolean 是is)
访问权限修饰符
private 表示私有,只有自己类能访问 (一般用这个)
default 表示没有修饰符修饰,只有同一个包的类能访问
protected 表示可以被同一个包的类以及其他包中的子类访问
public 表示可以被该项目的所有包中的所有类访问
关于Static
1 用static声明的变量为静态成员变量,也称类变量
2 从属于类,在类被载入时候初始化
3 一般用 类名.类属性/方法 来调用
4 在static方法中不可直接访问非static的成员
因此只要static修饰了的,可以通过类名直接调用,不需要创建对象
静态初始化块
public class TestPri { static{ System.out.println("我被调了"); }//这句话会最先出来 void loin(){ System.out.println("D"); } public static void main(String[] args) { TestPri testPri = new TestPri(); testPri.loin(); } }静态初始化块后,才是main方法