创建类的形式如下:
class 类名称{
属性
方法
}
类:是抽象的概念比如 汽车 房子 人等,在这些抽象的概念中,比如车有不同的颜色车型价格,车也可以做出不同的动作比如可以向前开或者向后开左转右转等。
对象:是通过类构造出有具体的颜色车型价格的车子,它可以调用类里面的方法实现向前开或者向后开。
举例:
class 车子{
颜色;
车型;
价格;
public void 向前开(){
向前开动
}
public void 向后开(){
向前开动
}
}
这就是一个简单的类定义;
public class main {
public static void main(String[] args) {
车子 a = new 车子(小黄,最新型号,10万);
a.向前开;
a.向后开;
}
}
我们通过车子车子 a = new 车子(小黄,最新型号,10万);
来创建这种类的对象这个对象是a;通过a.向前开;
对a对象进行操作。
下面有一个简单的实例:
public class main {
public static void main(String[] args) {
people xiaozhu = new people("vv",15,100,50);
xiaozhu.zoulu();
xiaozhu.shangke();
xiaozhu.chifan();
int x = xiaozhu.renshu(5);
System.out.println(x);
}
}
public class people {
public int shengao;
public int tizhong;
public String mingzi;
public int nianling;
public people(){}
public people(String mingzi,int nianling,int shengao,int tizhong ){
this.mingzi = mingzi;
this.nianling=nianling;
this.shengao = shengao;
this.tizhong = tizhong;
}
public void chifan(){
System.out.println("我在吃饭");
}
public void shangke() {
System.out.println("我在上课");
}
public void zoulu() {
System.out.println("我在吃饭");
}
public int renshu(int a){
return a;
}
}
注:people xiaozhu = new people("vv",15,100,50);
在创建对象时可以无参数创建也可以有参数创建,每一个类都会自带一个无参创建对象的方法people xiaozhu = new people();
;如果不输入参数默认就是无参构造。其中的this.mingzi = mingzi;
this代表本类的参数。
关于内存的划分问题:
注:开辟堆内存空间的时候,对name和age进行了初始化。
没有实例化,就没有开辟堆内存,栈指针就没有指向,就会出现空指针异常。