一个新手的java之旅(6)
- 封装 在写程序的时候,我们如果要注意数据的保密性,否则会很危险。那就需要封装了。
public class Person{
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
public class Text {
String uname;
public static void main(String[] args) {
Person x = new Person();
x.setName("ff");
String uname = x.getName();
System.out.println(uname);
}
}
C:\Users\86189\Desktop>javac Text.java
C:\Users\86189\Desktop>java Text
ff
在以上代码中,用户要设定名字只有通过我给的setName这一方法,不能直接访问,这就在一定程度上保证了数据的安全。我们提供一个方法,和传入方法参数的规范,用户就可以操作。用户不需要知道封装的内部实现。
2. 继承
就是字面意思,子类能继承父类的特征(不包括父类中private修饰的方法)。
public class Person{
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
public class X extends Person
{
}
public class Text {
public static void main(String[] args) {
X x = new X();
x.setName("gg");
String uname = x.getName();
System.out.println(uname);
}
}
C:\Users\86189\Desktop>javac Text.java
C:\Users\86189\Desktop>java Text
gg
在这里我们看到X中什么都没写,但确输出了gg,这是因为继承了父类的方法,但如果是有private修饰就会报错。
我们也可以在子类中定义子类特有的方法,比如张三喜欢吃甜食。这样青出于蓝而胜于蓝。
注意:一个父类可以有很多子类,但是一个子类只能有一个父类。java中不能多继承,只能继承一个父类。
3.super
super()只能用在构造方法中,其他地方不行。在构造方法中,能通过super关键字,构造了父类的特征。注意:super()不是父类的构造。比如小孩继承了父亲的一些特征,这些特征就属于他自己的了,不会说这些属于他父亲。