类(类型):
是具有相同特性和行为的对象的抽象。
接下来例子中的Person,便是一个类
public class Person {
String name;
int age;
String address;
int IdCard;
...
}
对象:
是类的实例化 。
Person中的某一个人 (有自己的名字 年龄等)
//这冬天不愁了,没对象的赶紧new一个对象p出来暖暖手。
Person p = new Person();//创建对象
对象可以是抽象的,也可以是非抽象的。
一切皆为对象。
构造方法(函数)/构造器:
方法名和类名相同,且没有返回值 类型 的方法,叫做构造方法。
作用:
1.创建对象。
2.传值。
无参构造方法:创建对象
有参构造方法:创建对象 传值
this关键字:
- 指代当前(类的)对象。
this.属性 调用被局部变量隐藏的全局变量 - this(参数列表):可以(在类中的一个构造方法内)调用本类里面的其他构造方法,具体调用哪个构造方法,根据this方法中的参数列表来确定。
- 特殊情况:
this方法只能放在构造方法的第一行。
this() 不能使用在普通方法中,只能写在构造方法中。
例子:
Person.java
package day11_3;
public class Person {//人这个类型:Person 人->特征
String name;
int age;
String address;
int IdCard;
public Person(){//无参构造方法
}
//有参构造方法(传值)
public Person(String name,int age,String address,int IdCard){
this.name = name;//= 右边那个name按Ctrl跳转到上面参数列表中的name,而=左边的跳转到Person类中的name,足以知晓“指代当前类的对象”的含义。
this.age = age;
this.address = address;
this.IdCard = IdCard;
}
/*public Person(){
System.out.println("1");
}*/
/*public void Person(){
System.out.println("2");
}*/
public void eat(){//方法
System.out.println("吃");
}
public void drink(){
System.out.println("喝");
}
public void play(){
System.out.println("玩");
}
public void happy(){
System.out.println("乐");
}
}
Test.java
package day11_3;
/**
* @author Huey
* @date 2020-11-3
*
*/
public class Test {
public static void main(String[] args) {
//创建Person类的对象【类的实例化】
Person p = new Person();//【创建一个Person的对象 看到():方法】
p.name = "张三";
p.address = "南京";
p.age = 32;
p.IdCard = 123456;
p.play();
System.out.println(p.name);
Person p1 = new Person("李四",30,"长沙",123456);
System.out.println(p1.address);
System.out.println(p.address);
}
}
运行结果:
玩
张三
长沙
南京
个人学习笔记,若有误还望不吝赐教。