1.类的定义 属性的定义
class Student{ //类的定义 String name; //属性的定义 int age; }
什么是属性呢? 在 类里,方法外, 定义变量且不加 static 就是属性
2.实例化对象的语法
Student s = new Student();
通过引用 使用引用 指向的对象的属性
例如:s.name = ...; ... = s.name;
3.关于属性的初始化的语法
1)默认值规则
2)构造方法规则(构造器)
(和方法长得有点类似)
class Student{ Student(){ ... } Student(int a){...} }
备注:a.构造方法的名称 == 类名称
b.没有返回值类型的声明
c.构造器重载
d.没有任何构造方法时,会自动补一个无参构造方法
e.实例化时,根据参数列表选择何时的构造方法调用
public Student() { name = "默认值"; major = "搬砖"; height = 180; System.out.println("我是无参的构造方法"); } public Student(String n, String m, int h) { name = n; major = m; height = h; System.out.println("我是 String 参数的构造方法"); } public Student(String a, int b) { System.out.println("(String, int) 构造方法"); }
3)定义时初始化
4)构造代码块规则( 在类的内部,方法的外部 )
执行顺序:1.默认值规则
2.定义时初始化和构造代码块按照书写顺序
3.构造器
4.this
作用1 : 引用 ( 在构造方法中,在实例方法中 代表指向当前对象的引用 )类型就是当前类
class Person{ this 类型 Person }
class Cat{ this 类型 Cat }
指向当前的对象 : 构造器中 this 指向的就是当前正在构造的对象
this.name this.age
作用2 : 在一个构造方法中调用其他构造方法
this(...)必须是第一行
5.使用属性的语法
s.name s.age this.name this.age
6.行为:在java中以实例方法的形式体现,定义与之前想同,不加static,在实例方法中可以直接访问属性(和构造方法类似)
方法:1.静态方法 (类方法) 加 static 修饰——不能访问属性,不可以使用this
2.普通方法 (实例方法) 不加static——可以访问属性,可是使用this
调用:
实例方法的调用,必须依赖一个对象 (通过引用) 的存在
Person p = new Person();
p.sayHello(); 引用 点 普通方法()
7.类 => 对象的过程 实例化
8.总结:在静态上下文中无法直接调用普通方法 访问对象属性
1)static {...}
2)静态方法
对于static的理解:加了 static 之后,只和类有关,和类本身的对象无关.反之,不加static,和本类的对象息息相关.
9.变量 & 方法
方法区
10.类里可以写什么
类{
//和对象无关——static系列——和类本身绑定
1.静态属性 2.静态方法 3.静态代码块 (静态上下文)
//和对象有关——不加static系列——和类+对象绑定
1.属性 2.方法 3.构造代码块 4.构造器
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)