类是一个抽象的概念,是对每一种事务的整体性概括但是不能代表一个具体的事物
汽车 手机 人
Car类 Phone类 Person类 这些类都是描述这些包含具体事物的特点行为
对象是具体的,是类的具体实例化对象
比如张三是一个Person类的具体实例化,张三家的狗旺财是Pet类的一个实例化
能够展现出特点,体现出功能的一定是具体的对象,而不是一个抽象的类
一个类里面,只有属性和方法
public class Student { String name; int age; }
public class Application { public static void main(String[] args) { Student pei = new Student(); pei.name = "裴"; pei.age = 21; System.out.println(pei.name); System.out.println(pei.age); } }
先创建了一个Student类,这个类有两个属性 一个name和age属性,
我在Application类里的main方法,通过new 来把Student类实例化了一个对象,叫pei,
这样我就可以对这个实例化出来的对象pei进行属性的赋值操作了
以上面为例,我继续创建一个类
public class Person{ }
可以看见我创建了一个空类,然后在Application类里的main方法,进行Person类的实例化,发现还是可以实例化的,即便这个Person是一个空类,通过反编译Person.class文件发现
Person类里多了一个方法
class文件:
public class Person{ public Person(){ } }
这说明了一个类即使什么都不屑,它也会有一个方法,这个方法就是构造方法了,也叫构造器
关于构造器两特点
- 构造器方法名必须和类名相同
- 构造器不允许有返回类型,void也不可以
我们写了一个空类,它会自己给弄一个构造器,这种没有参数的也叫无参构造
我们也可以自己显示的定义无参构造,就像上文class文件里写的一样
构造器作用
另外,如果我们定义了一个有参构造,比如
public Person(String name){ }
那么,无参构造就必须要显示定义,即我们手敲一遍啦
这里有个快捷加ALT+INSERT键可以快速写出构造器