特征:
面向对象:封装 继承 多态 抽象
封装: 封装更多的数据便于携带/传递.
对象封装: 隐藏内部细节,对外提供访问接口,提高代码复用性、可维护性、安全性
class Dogs{ private String name; //名字 private String age; //年龄 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
继承: 让子类更强大,让子接口规范更丰富
类的继承: 子类继承父类,可以增强子类的功能(除了父类私有的)
接口的继承: 接口和接口之间为多继承,继承父接口的规范,也可以制定自己的新规范
父类:
class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
子类:
class Student extends Person {
}
public class JiCheng {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("张三");
stu.setAge(20);
System.out.println("姓名是:"+stu.getName()+", 年龄是:"+stu.getAge());
}
多态: 父类接收子类的各种规范
多态发生在继承或实现状态下:
本类 变量 = new 本类对象(); 原态
父类 变量 = new 子类对象();
父接口 变量 = new 子实现类对象();
List list = new ArrayList();
抽象:用abstract来修饰,该方法就是抽象方法。
// 抽象类,员工类 abstract class Employee { // 抽象方法,用abstract修饰,只有声明没有实现 public abstract void work(); } // 讲师类 class Teacher extends Employee { @Override public void work() { // 实现抽象方法 System.out.println("老师讲java课"); } } // 助教类 class Assistant extends Employee { @Override public void work() { // 实现抽象方法 System.out.println("助教协助同学解决bug"); } }
特性:
-
面向对象: 在java的世界中必须先有对象,才能调用方法
-
跨平台(操作系统平台): java代码编写后,编译成class文件,class文件基于jvm运行,只要有jvm环境java代码就可以运行.
-
多线程: 可以并发操作,处理能力强
-
安全: 提供字节码验证,语法校验,安全管理限制.
-
GC回收: 提供了高效的垃圾回收机制