类是Java语言中最重要的“数据类型”,类声明的变量被称为对象,即类是用来创建对象的模板。
类在java语言中的定义:
在Java中定义类,使用关键字class完成。
class 类名称 {
属性 ;
方法 ;
}
比如定义一个person类
class Peroson{
private String name;//
private int age;//
private String sex;//
public static int data;//静态成员变量
private static final int data2 = 20;//编译期间可以确定的立即数 并且不能改斌
就如同我们人一样,Person也有属于他自己的各种数据。同样的,类里面也可以定义各种方法。
public void setName(String name){
this.name = name;//this引用 :指向当前对象的内存并不是调用当前方法的对象
}
public String getName(){
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
通过上面的几种方法,我们就可以访问到类中的数据
类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象,所以类属于引用数据类型。
对象的创建方法:
Peroson p1 = new Peroson();//创建一个名称为p1的对象
类名称 对象名称 = new 类名称 () ;//创建对象的一种基本格式
引用数据类型与基本数据类型最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。
对于类中方法的访问:
基本格式为 对象名.方法名()
但是对于用static修饰的即静态类的方法,我们必须使用类名.方法名()
如下图
p1.setName("caocao");
String name = p1.getName();
这俩行代码就调用了Person类中我们定义的get与set方法,对类中的name进行了初始化。
另外,对于初始化类中的数据不仅仅只有这一种方法,还有其他方法:
当我们类中定义的数据不是private类型的时候
p1.name="caocao";//可以通过这种方法,对不是private类型的数据直接进行初始化
另外,我们还可以通过在类中定义构造方法来初始化数据:
public Peroson{
this.name = “name”;
this.age = 12;
this.sex = “sex”;
}
public Peroson(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
System.out.println("Peroson(String,int,String)");
当类中有这种构造方法时我们就可以通过如下代码,来创建数据被初始化的对象
Peroson a=new Peroson("caocao",8,"男");
对于方法块的初始化:
1.实例方法块
只需要在类中加入如下方法
{//实例代码块初始化 2 一般不会用到
name = "liubei";
age = 18;
sex = "男";
data = 1000;
System.out.println("instance init!!!");
}
对于静态方法块
static{//静态代码块初始化 用于初始化static修饰的成员变量
data = 10;
}
对于对象的初始化顺序,应该是先加载静态方法块,然后是加载实例方法块,最后才是构造方法。