面向对象编程重点
package hELLO;
public class Students {
String name;
int age;
public void study(){
System.out.println("好好学习");
}
public void doHomeworks(){
System.out.println("天天向上");
}
}
package hELLO;
public class test {
public static void main(String[] args) {
Students s = new Students();
System.out.println(s);
System.out.println(s.name+","+s.age);
s.name="何清荣";
s.age=21;
System.out.println(s.name+","+s.age);
s.study();
s.doHomeworks();
}
}
一定要理解上面两个类在运行时内存中的运行步骤。
private的用法:
package hELLO;
public class Students {
String name;
private int age;
public void setAge(int a){
if(a<0 || a>120){
System.out.println("你输入的年龄有误");
}else {
age = a;
}
}
public int getAge(){
return age;
}
public void study(){
System.out.println("好好学习");
}
public void doHomeworks(){
System.out.println("天天向上");
}
}
package hELLO;
public class test {
public static void main(String[] args) {
Students s = new Students();
System.out.println(s);
System.out.println(s.name+","+s.getAge());
s.name="何清荣";
s.setAge(123);
System.out.println(s.name+","+s.getAge());
s.study();
s.doHomeworks();
}
}
对成员变量和方法进行封装,使得其他类无法直接访问,但可以通过set,get函数进行访问。这样的好处是可以对变量的值进行限制,避免出现因为其他类直接修改成员变量的值而导致数据出错的问题。
this修饰的变量用于指代成员变量。
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量。
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量。
this:代表所在类的对象引用
记住:方法被哪个对象调用,this就代表哪个对象。
挺简单理解的就不上代码了。
一个标准类的创建流程:
成员变量
使用private修饰
构造方法
提供一个无参构造方法
提供一个带多个参数的构造方法
成员方法
提供每一个成员变量对应的setXxx()/getXxx()
提供一个显示对象信息的show()
创建对象并为其成员变量赋值的两种方式
无参构造方法创建对象后使用setXxx()赋值
使用带参构造方法直接创建带有属性值的对象