java中的类与对象

类是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;          
}   

对于对象的初始化顺序,应该是先加载静态方法块,然后是加载实例方法块,最后才是构造方法。

猜你喜欢

转载自blog.csdn.net/qq_37232304/article/details/80034890