<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">今天学习面向对象基础和this的用法</span>
思维:抽象-具体,整体-局部,谁做-怎么做;
生成类(抽象的):
class Person{
String name; // name是成员变量
void talk(){ // 成员函数(方法)
System.out.println("hello");
}
}
类中的函数可为普通函数和构造函数(没有返回值,名字必须和类相同)并可以重载
构造函数为
Person(String name.int age){ // name,age是参数
...
}
构造函数用new调用
生成对象(具体的):
Person person = new Person();
person为引用(对象名),存放栈内存中,new Person()是调用构造函数,生成对象(存放在堆内存中),整句话的意思就是把对象赋值给引用(对象名)。
this调用
调用普通函数时要注意参数与成员变量名一样时,用this
调用构造函数:避免构造函数的重复书写
public class TestThis{
public static void main(String args []){
class Person{
String name;
int age;
String address;
Person(){
System.out.println("没有参数的构造函数");
}
Person(String name,int age){
this();
this.name = name;
this.age = age;
System.out.println("两个参数的构造函数");
}
Person(String name,int age,String address){
this(name,age);
this.address = address;
System.out.println("三个参数的构造函数");
}
}
Person person = new Person("zhangsan",13,"hunan");
}
}