1 //project-module-package
2 //.代表包的目录层次
3 package cn.learn.day01.demo01;
4
5 /*
6 1.类是一组相关属性(成员变量)与行为(方法)的集合,对象是类的实例化,具备该类的属性和行为
7 2.类里有成员方法,构造方法,成员变量,不可有单独的打印语句
8 3.类在method area,new生成的对象在heap中,对象的成员方法不加载在heap中,而是方法区的一个地址
9 4.类在方法中(不是成员方法)可以作为return的值
10
11 一个标准类通常拥有以下四部分-java bean
12 1.所有成员变量必须私有化
13 2.为每一个成员变量编写一个setter与getter方法
14 3.编写一个无参构造方法
15 4.编写一个有参构造方法
16 */
17
18 //以下是一个非标准类
19 public class Phone {
20
21 /*
22 私有化,外边无法直接访问,可借助setter,getter间接访问
23 若成员变量是基础的boolean类型,getXxx变为isXxx
24 可限定不合理的数据写入进来,提高代码安全性
25 */
26 private String name;
27 private double price;
28 private String colour;
29 //按住alt+insert自动生成setter、getter
30 //方法名格式为小驼峰,可对colour进行限定,set无返回值用来进行数据设置,get有返回值用来得到数据
31 public String getColour() {
32 return colour;
33 }
34
35 public void setColour(String colour) {
36 this.colour = colour;
37 }
38
39 public String getName() {
40 return name;
41 }
42
43 public void setName(String name) {
44 this.name = name;
45 }
46
47 public double getPrice() {
48 return price;
49 }
50
51 public void setPrice(double price) {
52 this.price = price;
53 }
54
55 //alt+insert可快捷生成无参,有参构造方法
56 //构造方法载,无参,有上面的构造方法,不会自动生成该无参,若无上面的有参构造则会自动生成该方法
57 public Phone() {
58 }
59
60 //构造方法重载,有参
61 public Phone(String name, double price, String colour) {
62 this.name = name; //this.代表该类Phone.用于区分重名问题
63 this.price = price;
64 this.colour = colour;
65 }
66
67 //成员方法
68 public void call() {
69 System.out.println("打电话啦");
70 }
71
72 public void message() {
73 System.out.println("发短信啦");
74 }
75
76 }