第三章java的三大特性
第三章类的封装继承多态
Java第一特性封装
上面是百度百科的定义:我个人觉得封装是把冲重复、不该看的隐藏起来,打包好,方便下次使用,提高效率。
用代码表示
public class person {
private String name; //私有属性
private String sex;
private int age;
//方法封装 对其他类提供方法的封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public person() {
}
public person(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
调用方法的封装
public class Student {
public static void main(String[] args) {
person person = new person();
person.setName("小明");//调用封装的方法
person.setAge(23);
person.setSex("男");
System.out.println(person);
}
}
Java的第二特点继承
java继承(extends)是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据qi或新的功能,也可以用父类的功能,但不能选择性地继承父类。
通过继承可以获得继承的,可以设置父类的方法和变量等。
static class P3 extends person{
//创建一个类继承person
}
子类P3获得了父类的封装方法,将类实例化试着去输出一下
p3 p3 = new p3();
p3.setName("xiaominger");
p3.setSex("男");
p3.setAge(12);
System.out.println(p3);
}
控制台的输出
person{name='xiaominger', sex='男', age=12}
说明子类p3继承了person的类方法。
第三点java的多态
person p4= new p3();
p4.setName("xiaoming");
p4.setSex("女");
p4.setAge(19);
System.out.println(p4);
这个是常见的多态写法向上转型
向上转型:子类对象—》父类对象;
向下转型:父类对象—》子类对象;
person pp= new p3();
jicheng.p3 pp2= (p3) pp; //这句才是向上转型的关键
-
向下转型的前提是父类对象指向的是子类对象(也就是说,在向下转型之前,它得先向上转型)
-
向下转型只能转型为本类对象

浙公网安备 33010602011771号