一. 封装
1.程序中一切都是虚幻的:电脑类:伪代码:
class 电脑{
private 主板
public 内存
硬盘
电源
}
2.
- 如何控制程序中的访问 ?
通过给类中的成员(字段,方法,构造方法)添加访问权限来实现访问控制
- 什么是访问权限:
例子:比如做一个系统,不同人登录进去,的访问权限不一样;
- 访问权限修饰符: private < 默认不写(注意不要添加default修饰)< protected < public
private :最小权限,被它修饰的成员只能够在本类中可以访问到;
public :最大权限,任何地方和任何人都能访问;
2.字段被私有化 主要目的是为了安全;
- 在Java 中的体现及步骤
1) 把类中的字段私有化;
2) 给每一个字段都提供一组getter setter方法 (方法的规范写法);setXxx
在测试类中尝试创建对象,并通过调用getter setter方法完成 对字段的赋值和取值;
3) 提供一个无参数的构造方法
二. 继承
1) 三个类都有重复的代码,可以把这部分内容 抽出去,抽出去放到另外一个类里面;
- 上面的类我们叫做 父类;
2) 下面的3个类和上面的类需要发生一点关系【继承】
下面的类我们叫做 子类;
- 好处 : 提高了代码的复用性
Java中类继承的基本语法
- Java类中的继承的语法格式:
class Animal{}
class Person extends Animal{} //目标就是为了继承到Animal,这个类型
A 就是B的父类; B是A的子类
1.验证:子类中是否可以继承到父类中的东西(通过创建子类对象来操作从父类继承的东西)
class Animal{
String name;
void eat(){
System.out.println("吃实物");
}
}
class Person extends Animal{
}
class Pig extends Animal{
}
测试类:
public class Test { //查看是否继承到父类中的字段
public static void main(String[] args) {
Person person = new Person();
person.name = "人胖";
System.out.println(person.name);
Pig pig = new Pig();
pig.eat();
}
}
三. 多态
1.一个人就是一个动物:
(1) Animal aml = new Person();//一个动物变量中,可能存放子类对象的多种可能
2.理解:使用aml:编译是看的是Animal类型,运行时看的是实际存放的对象[真实类型]
3.官方概念:编译时跟运行时类型不一致就产生了多态
4.民间理解:父类类型的变量,存放子类类型的对象,可能存放子类类型的对象有多种可能
5.多态存在的前提:必须有继承关系
- 多态的好处:屏蔽了不同子类之间实现的差异
a ) 加强面向对象编程思想:此处体现java语言设计是想,希望将现实生活中的对象与对象之间的关系在计算机系统得以体现4
概念:一个大的数据类型兼容小的数据类型