文章目录
访问修饰符
基本介绍
java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):
1)公开级别:用 public 修饰,对外公开
2)受保护级别:用 protected 修饰,对子类和同一个包中的类公开
3)默认级别:没有修饰符号,向同一个包的类公开.
4)私有级别:用 private 修饰,只有类本身可以访问,不对外公开.
封装(encapsulation)
封装的理解和好处
封装的实现步骤 (三步)
/*不能随便查看人的年龄等隐私,并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认
年龄, 必须在 1-120, 年龄*/
public class test {
public static void main(String[] args) {
Person person = new Person();
person.setAge(30);
System.out.println(person.info());
//如果我们自己使用构造器指定属性
Person smith = new Person(30);
System.out.println("====smith的信息======");
System.out.println(smith.info());
}
}
class Person {
private int age; //age 私有化
public void say(int n) {
}
public Person() {
}
//有三个属性的构造器
public Person(int age) {
// this.age = age;
//我们可以将set方法写在构造器中,这样仍然可以验证
setAge(age);
}
public int getAge() {
return age;
}
public void setAge(int age) {
//判断
if (age >= 1 && age <= 120) {
//如果是合理范围
this.age = age;
} else {
System.out.println("你设置年龄不对,需要在 (1-120), 给默认年龄18 ");
this.age = 18;//给一个默认年龄
}
}
//写一个方法,返回属性信息
public String info() {
return " age=" + age;
}
}
继承(extends)
继承基本介绍和示意图
继承可以解决代码复用。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过 extends 来声明继承父类即可。画出继承的示意图
继承的基本语法
入门案列
public class test {
public static void main(String[] args) {
Pupil pupil = new Pupil();
pupil.name = "银角大王~";
pupil.age = 11;
pupil.testing(); //小学生 银角大王~ 正在考小学数学..
pupil.setScore(99);
pupil.showInfo();//学生名 银角大王~ 年龄 11 成绩 99.0
}
}
//让Pupil 继承 Student类
class Pupil extends Student