package day6;
/*
* 1、面向过程:当需要实现一个功能的时候,每一个过程的详细步骤和细节都要亲历亲为
* 2、面向对象:当需要实现一个功能的时候,不关心详细的步骤细节。而是找人帮我做事
* 3、类和对象的关系:
* 1、类是抽象的,通常不能直接使用,好像是一张手机的设计图纸
* 2、对象是具体的,根据类创建一个对象使用,也就是根据图纸创造一个手机
* 4、如何定义一个类:成员变量、成员方法。
* 1、成员变量:直接定义在类当中,在方法外面
* 2、成员方法:去掉static关键字,其他和此前的普通方法一样
* 5、如何根据类创建对象,格式:类名称 对象名 = new 类名称();
* 6、如何使用对象:
* 1、使用成员变量:对象名.成员变量名
* 2、调用成员方法:对象名.成员方法名(参数);
* 7、局部变量和成员变量的区别:
* 1、定义的位置不同
* 2、内存的位置不同
* 3、生命周期不同
* 4、默认值不同
* 8、private关键字用法:直接写在成员变量前面,类外面不能直接访问,确保安全性。
* 间接访问:编写一对get set方法
* (如果是boolean类型,getXxx必须叫做isXxx的形式)
* 9、this关键字典型用法:用来1区分同名的成员变量和局部变量。在成员变量的前面写上this.前缀即可。
* 10、构造方法:专门用来创建对象的方法,通过new关键字创建对象就是在调用构造。
* 1、构造方法不写返回值类型,void都不能写
* 2、构造方法的名称必须和所在的类名称完全一样
* 3、构造方法也是可以重载的
* 4构造方法如果没有定义,默然送一个,如果定义了,那么默然的不再送
*
*
* 11、如何定义一个标准的POJO类:
*
* 1、所以的成员变量都用private修饰
* 2、为每一个成员变量编写一对Getter Setter方法
* 3、编写一个无参数的构造方法
* 4、编写一个全参数的构造方法
*/
/*
* 定义一个类,代表人,含有姓名和年龄,而且具有打招呼的功能。根据类创建两个
* 对象并且赋值,让两个对象分别和对方打招呼
*/
public class Person {
private String name;//成员变量
private int age;//成员变量
//编写一个无参数的构造方法
public Person(){
}
//编写一个全参数的构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello(String name){
System.out.println(name + ",你好。" + "我叫" + this.name + ",今年" +this.age + "岁。");
}
//为每一个成员变量编写一对Getter Setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package day6;
public class DemoPerson {
public static void main(String[] args) {
Person moran = new Person();//默认1构造
moran.setName("默然");
moran.setAge(22);
Person xixi = new Person("西西",20);//有参赋值
//首先让默然和西西打招呼
moran.sayHello(xixi.getName());
//西西和默然打招呼
xixi.sayHello(moran.getName());
}
}