目录
一、封装(Encapsulation)
基本语法举例
真实实例
二、继承(Inheritance)
基本语法举例
真实实例
三、多态(Polymorphism)
基本语法举例
真实实例
四、重载(Overloading)
基本语法举例
真实实例
五、重写(Overriding)
基本语法举例
真实实例
六、抽象(Abstraction)
基本语法举例
真实实例
七、接口(Interface)
基本语法举例
真实实例
一、封装(Encapsulation)
封装就像把东西装进盒子里,只留下一些口子(方法)让别人使用,而不让别人直接看到或修改盒子里的东西(属性)。
基本语法举例
public class Person {
private String name; // 私有属性
public String getName() { // 公共方法,获取属性
return name;
}
public void setName(String name) { // 公共方法,设置属性
this.name = name;
}
}
真实实例
Person person = new Person();// 设置名字
person.setName("张三");// 获取名字
System.out.println(person.getName());
二、继承(Inheritance)
继承就像儿子继承了父亲的财产,儿子不仅有父亲的所有东西,还可以增加自己的东西。
基本语法举例
public class Animal { // 父类
public void eat() {
System.out.println("动物吃东西");
}
}
public class Dog extends Animal { // 子类
public void bark() {
System.out.println("狗叫");
}
}
真实实例
Dog dog = new Dog();// 继承自Animal的方法
dog.eat();// Dog类自己的方法
dog.bark();
三、多态(Polymorphism)
多态就像是同一个名字(方法名)可以有不同的行为(方法实现),就像一个演员可以扮演不同的角色。
基本语法举例
public class Animal {
public void sound() {
System.out.println("动物发出声音");
}
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("汪汪汪");
}
}
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("喵喵喵");
}
}
真实实例
Animal dog = new Dog();Animal cat = new Cat();// 输出:汪汪汪
dog.sound(); // 输出:喵喵喵
cat.sound();
四、重载(Overloading)
重载就像是同一个人(同一个类)有多个名字(多个方法名),但每个名字有不同的用途(参数列表不同)。
基本语法举例
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
真实实例
Calculator calc = new Calculator();// 调用第一个add方法
int sum1 = calc.add(5, 10);// 调用第二个add方法
double sum2 = calc.add(5.5, 10.1);
五、重写(Overriding)
重写就像是儿子(子类)不同意父亲(父类)的做法,儿子用自己的方式(方法实现)去做同样的事情(方法名)。
基本语法举例
public class Animal {
public void sound() {
System.out.println("动物发出声音");
}
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("汪汪汪");
}
}
真实实例
Animal animal = new Dog();// 输出:汪汪汪,而不是动物发出声音
animal.sound();
六、抽象(Abstraction)
抽象就像是你只关心一个事物的主要特征,而不关心它的具体细节。
基本语法举例
public abstract class Animal {
public abstract void sound(); // 抽象方法,没有具体实现
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("汪汪汪");
}
}
真实实例
Animal dog = new Dog();// 输出:汪汪汪
dog.sound();
七、接口(Interface)
接口就像是一份合同,规定了你能做什么(方法),但不关心你怎么做(实现)。
基本语法举例
public interface Animal {
void sound(); // 接口中的方法默认是抽象的
}
public class Dog implements Animal {
@Override
public void sound() {
System.out.println("汪汪汪");
}
}
真实实例
Animal dog = new Dog();// 输出:汪汪汪
dog.sound();