1.首先我们先复习一下昨天学的内容——匿名对象
将匿名对象作为参数传入。
class Pen{
public Pen(){ }//空构造方法 标配
public void display(String name){
System.out.println("请用这只笔写下你的名字:"+name);
}
}
class Student {
String name;
int age;
public Student(){ } //空构造方法,标配
public Student(String name,int age){ //构造方法
this.name = name;
this.age = age; //初始化
}
public void show(){ //成员方法
System.out.println("姓名:"+name+","+"年龄:"+age);
}
public void write(Pen pen ){
pen.display(this.name); //调用参数对象pen的成员方法
}
}
public class Private {
public static void main(String[] args) {
Student zs = new Student("张三",18);//初始化,创建命名对象zs
zs.show();//调用成员方法
zs.write(new Pen());//创建匿名对象并将它作为参数传入
}
}
a .运行结果
姓名:张三,年龄:18
请用这只笔写下你的名字:张三
b.我们要保持习惯定义类时,显示空构造方法
c.保持参数一致
2.在实际生活当中,我们在展示信息时,肯定会涉及到隐私问题。
比如我们的家庭住址,电话号码,还有银行密码等等,这些我们需要隐藏的信息就不需要展示出来了,所以会被我们刻意隐藏起来。
所以在我们的程序当中,也存在需要隐藏的信息,这个时候我们就需要想办法把他们封装起来。由此而来,java就存在了封装性,并拥有private关键字来作为使用方法。
从public,protected,default到private,私密程度依次提高。private最为严格。
而我们有时候需要修改封装信息,此时,我们就需要学习这种访问private的方法了——setter和getter,它们可以帮助我们灵活的去调控我们的程序来优化我们的项目。
3.代码展示——运用private,setter,getter。
class Student {
private String name;
private int age;
public Student(){ } //空构造方法,标配
public Student(String name1,int age1){ //构造方法
name = name1;
age = age1; //初始化
}
public String getName(){ //getter方法
return name;
}
public void setAge(int age1) {
age = age1;
}
public void show(){ //成员方法
System.out.println("姓名:"+name+","+"年龄:"+age);
}
}
public class Private {
public static void main(String[] args) {
Student zs = new Student("张三",18);//初始化,创建命名对象zs
zs.show();//展示
System.out.println(zs.getName());//调用getter方法,获取私有数据成员
zs.setAge(19);//调用setter方法,修改私有数据成员
zs.show();//展示
//如果我们写出 zs.name = "张三";那么就会报错,因为我们不能直接这样去访问私有数据成员
}
}
代码中setter和getter方法的创建遵循命名规则的,其中get后面的数据成员名第一个字母要大写。
列如name—— string setName(){ } ,string就是数据成员类型。
代码结果——
姓名:张三,年龄:18
张三
姓名:张三,年龄:19
通过这段代码,我们可以看到private,封装性给我们带来的优势。这样我们的程序就不会随便被篡改了。就拿生活中的游戏来说,市面上的外挂破坏游戏平衡,作为开发者肯定不希望看到外挂随便就篡改游戏,所以封装起来可以保护我们的程序顺利运行。
4.总结——
了解封装性和private关键字后,我们可以感受到程序逐渐规范起来了,所以我们之后也需要规范自己的编译方式。首先我们就需要经常使用private等关键字来使我们程序逐渐稳定,我们还需大量使用setter方法和getter方法来让我们的代码严谨。
接下来是对java其他特性与关键字的学习!!!吼吼