JAVA学习笔记 day4 封装继承多态

JAVA学习笔记 day4

1.面向对象

以类的方式组织代码,以对象的组织(封装)数据。

static方法和类一起加载


2.构造器

一个类即使什么都不写,它也会存在一个构造方法。

构造方法:

​ 必须跟类的名字相同,必须没有返回类型

作用:

​ 实例化初始值

​ 使用new 关键字创建新对象,本质是在调用构造器

注意:

一旦定义了有参构造,默认的无参构造就没有了。


3.封装

高内聚,低耦合。

属性私有,privite

通过get方法获取,set方法设置值

封装的用法:

​ 1.可以保护数据,提高程序的安全性,规避掉不合法数据的传入

​ 2.隐藏代码细节

​ 3.统一接口

​ 4.增加系统可维护性


4.继承

继承只是实现的一种办法,组合也可以实现跟继承一样的效果

私有属性是无法继承的,属性默认值为default

在java中所有的类都默认直接或者间接继承Object类

java中只有单继承,没有多继承。

this 调用当下类中属性方法,super调用父类中的属性方法。

super调用不了私有的方法或属性,因为私有的继承不了

在创建子类时,会默认调用父类的构造器。


5.重写

注意点:

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大但不能缩小,父类的方法权限不能比子类大 public >protected>default>private

4.抛出的异常:范围可以被缩小,但不能被扩大。

重写的意义:

​ 父类的功能子类不一定需要

里氏替换

6.多态

一个对象的实际类型时确定的,但是它指向的引用类型时不确定的。父类的引用指向子类,子类重写了父类的方法,就调用子类重写的方法,否则调用父类的方法。

instanceof关键字

instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。

类型转换

父类引用指向子类对象,我们称这个过程为向上转型,属于自动类型转换。

向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。这时,我们就需要进行类型的强制转换,我们称之为向下转型。

子类转父类,会丢失自己的独特方法,父类转子类会引用子类的方法

7.static

静态变量存放在静态方法区里面。

静态代码块:

​ static{

​ //初始数据时使用

}

最先执行静态代码块,因为它和类一起加载,类存在的时候就存在了。且只执行一次。

静态导入包:

import static java.lang.Math.random;

8.抽象类

abstract

继承抽象类的所有子类必须实现抽象类中的抽象方法

抽象类只起到约束作用。

抽象类中可以写普通方法,抽象方法必须在抽象类中


9.接口(面向接口编程)

接口中所有定义的方法都是抽象的 默认为public abstract

定义的常量都是 public static final

只用写 返回值类型+ 方法名 (参数);

eg: void add(int a,int b);

接口都需要实现类。实现接口的类,必须要重写接口中的方法。

关键字:interface implements

接口可以多继承。

接口作用是约束,提高开发效率,定义一些方法,让不同的人实现;接口不能被实例化,里面没有构造方法,必须要重写接口定义的方法。

你可能感兴趣的:(学习,java)