1.This关键字:
代表所在类的对象引用
记住:方法被哪个对象调用,this就代表哪个对象。
什么时候用this呢?
局部变量隐藏成员变量
package yang1;
//get获取值需要返回,set都要传参
class Phone{
private String lable;
private int price;
private String color;
public String getLable() {
return lable;
}
public void setLable(String lable){
this.lable=lable;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price =price;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color=color;
}
}
class PhoneTest {
public static void main(String[] args) {
Phone p=new Phone();
p.setLable("小米");
p.setPrice(2000);
p.setColor("白");
System.out.println(p.getLable()+"-----"+p.getPrice()+"---"+p.getColor());
}
}
2.构造方法:
有括号的叫变量,没有括号的叫方法;
构造方法作用概述:给对象的数据进行初始化;
构造方法格式:
1 方法名与类名相同;
2. 没有返回值类型,连void都没有;
3. 没有具体的返回值;
注意事项:
(1)如果不提供构造方法,系统会给出默认构造方法;
(2)只要我们给出了构造方法,不管带参还是无参,系统都不再提供无参构造方法;
(3)构造方法也是可以重载的;
(4)给成员变量赋值有2种方法。
构造方法的重载格式,方法名相同,类型名不同
1. setXxx
2. 2.构造方法
3. class Student{
4. private String name;
5. private int age;
6. public Student() {
7. System.out.println("爱你");
8. }
9.
10. //构造方法的重载格式,方法名相同,类型名不同
11. //这是一个带多个参数的构造方法
12. public Student(String name,int age) {
13. this.name=name;
14. this.age=age;
15. }
16.
17. public void show() {
18. System.out.println(name+"---"+age);
19. }
20. }
21.
22. public class ConstructDemo {
23. public static void main(String[] args) {
24. //创建对象
25. Student s =new Student("范范",20);
26. s.show();
}
}
3.类的组成:成员变量,成员方法
以后再提类的组成:
(1)成员变量
(2)构造方法
(3)成员方法
方法具体划分:
(1)根据返回值:有明确的返回值
(2)返回void类型的方法
根据形式参数:
(1)无参方法
(2)带参方法
class Student{
public String getString() {
return "fanfan";
}
public void show() {
System.out.println("show");
}
public void method(String name) {
System.out.println(name);
}
public String function(String s1,String s2) {
return s1+s2;
}
}
public class StudentDemo {
public static void main(String args[]) {
Student s=new Student();
//调用无参无返回值方法
s.show();
//调用无参有返回值方法
String result=s.getString();
System.out.println(result);
//调用带参无返回值的的方法
s.method("范范");
String result2=s.function("fanfan","2ge");
System.out.println(result2);
}