JAVA面向对象第二张实践练习
1.成员变量
(1)在类的内部、方法的外部定义的变量就是成员变量
2.静态成员
(1)静态变量,变量前加上static关键字就是静态变量,又称为类变量
(2)静态方法,方法头部加上static关键字就是静态变量。静态方法不能使用this关键字,因为静态方法在创建对象前就已经存在,this不能在没有对象的情况下使用。
public static void tset{ 方法体 }
1
(3)静态代码块,在类被调用时就会被执行,如果静态代码块和主方法在同一个类中,则优先执行静态代码块。
static {代码块}
1
3.this关键词
(1)this,指向调用该方法的对象
(2)调用方法时使用this,哪个对象调用这个方法,this就指向哪个对象的方法
(3)可以解决形参与成员变量同名的问题,使用this指向实例变量
4.隐藏和封装
(1)被private修饰的语句只能被该类的成员访问
(2)其他类想要访问只能通过调用该类的方法进行访问
public class Age{ private int age; public void setAge(int age){ this.age=age; }}
public class Test{
public static void main(String[] args){
Age a = new Age();
a.setAge(10);
}
}
练习
私有成员变量的赋值与调用,传参后要判断是否为无效数据
(1)私有成员变量在赋值时需要一个方法赋值,输出时也需要一个方法输出
public class ThisExample {
String name; private int age; public void setAge(int age) { if (age < 0) { this.age = 0; } else if (age > 60) { this.age = 60; } else { this.age = age; } } public void showAge() { System.out.println(age); }}
public class TestTwo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ThisExample t = new ThisExample();
System.out.println("请输入年龄:");
int age = sc.nextInt();
t.setAge(age);
t.showAge();
}
}