1、面向对象特征——封装
- 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 。
- 封装的优点
- 只能通过规定方法访问
- 隐藏类的实现细节
- 方便加入控制语句
- 方便修改实现
- 具体表现
- 使用不同的访问权限
public class Demo1 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Dog封装案例
/*
封装:将类的某些信息隐藏起来(用到访问权限修饰符来实现),不让外部直接访问,
可以通过一个特定的方法进行访问,便于控制。
*/
public class Dog {
private String name;
public Dog() {
}
public Dog(String name) {
if (name != null) {
this.name = name;
}
}
public void eat() {
}
//提供特定的方法,对隐藏的成员进行访问
public void setName(String name) {
if (name != null) {
this.name = name;
}
}
public String getName() {
return name;
}
}
public class TestDog {
public static void main(String[] args) {
Dog dog = new Dog("金毛");
//dog.name = "金毛";//直接访问类的成员
Dog dog1 = new Dog();
dog1.setName("柯基");
System.out.println(dog.getName());
System.out.println(dog1.getName());
}
}
WindowDemo单例模式案例
public class WindowDemo {
/*
设计模式:解决某一类问题的解决方案(模式)
单例模式:让一个类在一个程序中只能创建一个对象
将构造方法设置为私有权限,在其他类中不能随便使用
*/
private static WindowDemo windowDemo;
private WindowDemo() {
}
public static WindowDemo getWindow() {
if (windowDemo == null) {
windowDemo = new WindowDemo();
}
return windowDemo;
}
}
public class TestWindow {
public static void main(String[] args) {
//new WindowDemo();
//new WindowDemo();
WindowDemo windowDemo = WindowDemo.getWindow();
WindowDemo windowDemo1 = WindowDemo.getWindow();
System.out.println(windowDemo);
System.out.println(windowDemo1);
}
}
2、面向对象特征——继承
- 继承:继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。
- 继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的能力。
- 在JAVA中使用extends关键字来表示继承关系。
- JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一