一、封装
目的;隐藏内部的复杂性,只对外公布简单的接口。追求"高内聚,低耦合"的编程思想。
public class Anmial {
public static void main(String[] args) {
Animal0 an = new Animal0();
an.setLegs(4);
an.setLegs(3);
}
}
class Animal0{
//将属性隐藏,只能由内部访问
private int legs;
public void setLegs(int i){
if(i != 0 && i != 2 && i != 4){
System.out.println("Wrong number of legs!");
return;
}
legs =i;
}
}
二、继承性
作用:
1、继承的出现减少了代码的冗余,提高了代码复用性
2、继承的出现,有利于程序的扩展
3、继承的出现使得类与类 之间产生了关系,提供了多态的前提
关键字:extends
新建一个person类
public class Person1 {
String name;
int age;
int id = 1000;
public Person1(){}
public Person1(String name){
this.name = name;
}
public Person1(String name,int age){
this.name = name;
this.age = age;
}
public void eat(){
System.out.println("人:吃东西");
}
public void walk(){
System.out.println("人:走路");
}
}
新建一个Student1继承这个person1类
public class Student1 extends Person1{
String major;
int id = 1001;
public Student1(){}
public Student1(String major){
this.major = major;
}
public void eat(){
System.out.println("学生:吃营养食物");
}
public void study(){
System.out.println("学生:学习知识");
//调用当前类的方法
this.eat();
//调用父类的方法
super.eat();
}
public void show(){
//属性不可覆盖
System.out.println("name = " + this.name+ "、age = " + super.age);
//this.可省略
System.out.println("id = " + this.id);
System.out.println("id = " + super.id);
}
}
三、多态性
对象的多态性:父类的引用指向子类的对象,子类的对象可以代替父类的对象使用
作用:提高代码的通用性,常称作接口的重用
前提:需要存在继承或者实现关系,有方法的重写
instanceof:检验x是否为A的对象,返回的boolean型