对象属性和对象方法(盖房子)
对象方法没有static关键字
package com.model;
public class House {
//房间的颜色
public String color = "green";
// 房子的卧室有2间
public int bedRooms = 2;
/**
* 打开水龙头
*/
public void runWater(){
}
/**
* 打开电灯
*/
public void turnLightsOn(){
}
}
像房子的颜色,房间的个数都是对象的属性
打开灯,打开水龙头都是对象的方法
实例化
就像盖房子一样,抽象就是盖房子的图纸,实例化就是按照图纸去盖房子。
实例化一个对象,就是盖一间房子。
只有盖好房子,才可以打开灯,水龙头;才可以给房子涂颜色。
所以,对象的属性和方法只有在实例化之后才可以调用。
盖房子需要占地,所以实例化一个对象,java就会在内存中开辟一个空间来存储对象实例。
实例化具体方法(构造函数)
new 构造函数();
在其他类中创建时,要添加包名 import com.。。。。。.类名
带参数的构造函数
public class House{
public House(String color){
//this为关键字
this.color= color;
}
}
完整程序
package com.model;
public class House {
// 房子的颜色是绿色
public String color = "green";
// 房子的卧室有2间
public int bedRooms = 2;
public House(String color,int bedRooms) {
this.color =color;
this.bedRooms=bedRooms;
}
// 自定义一个带 color 参数的构造函数
public House(String color) {
this.color = color;
}
/**
* 打开水龙头
*/
public void runWater() {
}
/**
* 打开电灯
*/
public void turnLightsOn() {
System.out.println("灯已打开");
}
}
-------------------------------------------------------------------
package com.action;
import com.model.House;
/*
实例化House类
*/
public class HouseAction {
public static void main(String[] args) {
House house1 =new House("red",3);
System.out.println(house1.color+":"+house1.bedRooms);
House house2 =new House("white",2);
System.out.println(house2.color+":"+house2.bedRooms);
House house3 =new House("green",2);
System.out.println(house3.color+":"+house3.bedRooms);
}
}