Java 是一种面向对象 编程的机器语言。那何为对象? 何为类?(面向对象编程 涉及:类和对象、属性、方法、接口、设计模式、4大特性)
面向对象,是将功能、属性封装进类中,通过构造器在jvm堆中创建(new)类的实例 (对象)来实现其功能的;更加强调运用人类的日常思维逻辑中采用的思想和方法以及
原则,如抽象、分类、继承、聚合、多态、代理等。
1、类:一类或一种事物的抽象描述
2、对象:一类或一种具体真实存在的事物个体(现实中的事物在堆内存中的体现 new Person();)
3、java中的关键字都是小写的
4、通常类中的属性都用私有的 private 进行封装,为本类所独有,别处调用必须用 get 或set方法调用
5、继承:如 B extends A, 那么B就继承A;继承是为了方便代码的扩展,现有系统的稳定性考虑。
6、继承的优点:共有的属性、方法可以抽象到父类中,提高代码的简洁性,提高子类复用父类代码;有了继承,也就体现了java的
多态性。(override 重写 【其实overload 重载 也体现了多态性】)
7、继承的缺点:万事两面性,不足之处,父类若变化,其所有子类 也必须要修改,会破坏程序的封装性
8、多态:静态多态(编译时的多态) 和 动态多态(运行时的多态)
9、多态的两种主要体现:
A、方法的重载和重写
B、是对象的多态性主要分两种:
a、对象向上转型(程序会自动转型【俗语: 父类引用 指向 子类对象】): 父类 父类引用 = 子类实例; 【new 子类();】
b、向下转型(必须明确的指出要转型的子类类型【俗语: 父类对象 强转为子类对象】): 子类 子类引用 = (子类)父类对象;
注释:如果想要产生对象的向下转型,则肯定必须先产生一个向上的转型关系。【存在 extends 或 implements】
10、封装:其实质就是隐藏实现细节。能提高安全性。封装的最小表现形式:函数。
11、private : 只能修饰类中的成员。 通常情况下,描述事物有两部分组成:属性和行为, 我们通常把事物的属性进行私有化(如:private String name;),
然后通过两个公有的get() 和set()方法对其进行访问。(对外不提供的,封装在了类中)
12、构造器(构造函数):
13、this:代表使用该方法的对象的引用。什么时候用到this?
14、super:
15、static:
16、被static(静态)修饰的好处:
17、final:
a、final类不可被继承(因为它是最终的类,不可改变的)
b、在初始化后不可改变变量值,通常用来定义常量
c、不可被覆盖(重写)
d、可修饰类、函数、变量
e、被final修饰的类不能被继承(但可以继承其他类),被final修饰的方法不能被覆盖(但可以覆盖其他方法);
被final修饰的变量是常量只能赋值一次;内部类只能访问被final修饰的局部变量。
f、形象记忆: final就像锁一样,只能被final修饰的就给锁定了,改变不了了。(主观记忆参照)
java面向对象四大特征:封装、继承、多态、抽象。