java中类和对象的知识总结:
首先说说类和对象是什么?
简单的说,类就相当于一个模板,对象就相当于一个实体;对象里面有属性和方法;属性又包括字段和成员;成员又包括实力数据成员和静态数据成员;一个类可以产生多个对象;在java中通过new关键字实现创建一个对象。
如何产生一个对象呢?
- 为对象分配合适的空间
- 选用合适的构造方法(注意: 一个类中默认的是一个无参的构造方法,若你想使用带参数的对象需在类中自己写一个带参的构造方法)
创建一个类,并实例化对象:
public class Person {//定义一个人的类
public String name;//属性
public int age;
public void eat(){//方法
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
public void hit(){
System.out.println("打豆豆");
}
}
public class TestPerson {
public static void main(String[] args) {
Person person =new Person();
//1:通过new实例化一个对象
//2:用的是类中默认的无参构造方法
person.eat();//在测试类的程序中通过使用(对象的引用.方法名)或者(对象的引用.属性)进行访问即可
person.sleep();
person.hit();
}
}
注意: 只要是被static修饰的不管是方法还是属性都是静态的,访问时不依赖与对象,而与类相关,所以可直接(类名.X)进行调用和访问;当属性被private所修饰时即实现封装,不能直接通过对象的引用来访问而是要通过get();和set();方法来进行访问,修改等等的操作
封装: 为了不让类的调用者直接访问到我们的数据成员或者方法
构造方法:
注意:一个类中的构造方法默认都是无参的构造方法;假如你在测试用例的时候new了一个对象并给了参数,那么你的编译将不会通过;这时候你就注意自己创建的类中是否包含带参数的构造方法,若没有,得自己构建构造方法;如下所示:
public class TestPerson {
public static void main(String[] args) {
Person person =new Person(18);//用的是类中默认的无参构造方法
//调用类中的方法
//在测试类的程序中通过使用(对象的引用.方法名)或者(对象的引用.属性)进行访问即可
person.sleep();
}
}
public class Person {//定义一个人的类
public String name;//属性
public int age;
public Person(int age){
this.age=age;
}
public void sleep(){
System.out.println(age+"岁不应该熬夜");
}
}
运行结果:
重要:
this关键字表示是当前对象的引用
用法:
- this.成员变量
- this.成员方法
- this();调用构造方法必须放在第一行
- 因为是对当前对象的引用,所以在static方法中是不能使用this关键字