1 . 面向对象的三大特性:
Java 作为面向对象编程语言,你得知道OOP的的三大特性
封装、继承、多态。
封装的优点
-
1. 良好的封装能够减少耦合。
-
2. 类内部的结构可以自由修改。
-
3. 可以对成员变量进行更精确的控制。
-
4. 隐藏信息,实现细节
如:将Person属性定义为私有权限,通过set和get将public权限进行对外访问
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
继承:能够继承父类的public和protected成员变量;不能够继承父类的private成员变量。
public abstract class Programmer {
public void userLanguage() {
System.err.println("编写语言");
}
abstract void sex();
}
public class JavaProgrammer extends Programmer{
@Override
public void userLanguage() {
System.out.println("java语言编写代码");
super.userLanguage();
}
@Override
void sex() {
System.out.println("this is a man");
}
}
public class SWMain {
public static void main(String[] args) {
Programmer programmer = new JavaProgrammer();
programmer.userLanguage();
}
}
多态分为两种:重写式多态和重载式多态,涉及到向上转型和向下转型。
如:
public class Animal {
public void eat(){
System.out.println("animal eatting...");
}
}
public class Cat extends Animal{
public void eat(){
System.out.println("我吃鱼");
}
}
public class Dog extends Animal{
public void eat(){
System.out.println("我吃骨头");
}
public void run(){
System.out.println("我会跑");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Cat(); //向上转型
animal.eat();
animal = new Dog();
animal.eat();
}
}