1.面向对象编程的思想来源于生活,一切皆对象要描述这个世界上任何一个对象都可以通过静态属性(成员变量)和动态属性(方法/函数)
2.定义一个类就等于定义一种新的数据类型
3.一个类就是一个具体对象实例模板
构造函数:与类同名,没有返回值
当没有自定义构造函数时,系统会自动创建一个无参数的构造函数
但是一旦自定义了有参数的构造函数系统将不再自动创建无参数的构造函数。
所以在以后的开发中建议大家只要写有参数的构造函数都必须写无参数的构造函数
Person p1 = new Person();
p1.setName("李XX");
p1.setGender("女");
Person p2 = new Person();
p1.eat();
//p1.name = "dddd"不能这样给name赋值,因为name是私有的
p2.sleep();
Person p3 = new Person("张三","男",18);
p3.out();
Person p4 = new Person("王星雨","女",18);
p4.out();
System.out.println(p1.getName()+","+p1.getGender());
class Person
{
private String name;//一旦成员变量拥有了Set和get就变成了属性
private String gender;
private int age;
public Person(){
System.out.println("构造函数!");
}
public Person(String name,String gender){
this.name = name;
this.gender = gender;
}
public Person(String name,String gender,int age){
//this指的是当前实例对象
//this.name = name;
//this.gender = gender;
this(name,gender);//this()调用对应参数个数或者类型的构造函数,注意必须在第一条语句
this.age = age;
}
//get(取出成员变量的值) 和set方法(给成员变量赋值)
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setGender(String gender){
this.gender = gender;
}
public String getGender(){
return this.gender;
}
public void playGame(){
System.out.println("打游戏!");
}
public void eat(){
System.out.println("吃饭!");
}
public void sleep(){
System.out.println("睡觉!");
}
public void out(){
System.out.println(this.name+","+this.gender+","+this.age);
}
}