java基础

成员变量和局部变量

1,在内存中的位置不同

成员变量:在类中定义

局部变量:在方法中定义或者方法的参数

2,在内存中的位置不同

成员变量:在堆内存(成员变量属于对象,对象进堆内存)

局部变量:在栈内存(局部变量属于方法,方法进栈内存)

3,生命周期不同

成员变量:随着对象的创建而存在,随着对象的销毁而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

4,初始化值是不同

成员变量:有默认初始化值引用类型默认为空

局部变量:没有默认初始值必须定义赋值然后才能使用

注意:局部变量名称可以和成员变量名称一样在方法中使用的时候采用的是就近原则

1 构造方法名称与类名相同没有返回值声明

2 构造方法用于初始化数据

3 每一个类中都有一个默认的无参构造方法

4 如果类中有显式的构造方法那么默认构造方法将无效

5 如果有显式的构造方法还想保留默认的构造方法需要显式的写出来

6 构造方法可以有多个但参数不一样称为构造方法的重载

7 在构造方法中调用另一个构造方法使用this(......)该句代码必须在第一句

8 构造方法之间的调用必须要有出口

9 给对象初始化数据可以使用构造方法或者setterr方法通常情况下两者都会保留

10 一个好的编程习惯是要保留默认的构造方法为了方便一些框架代码使用反射来创建对象

1、继承是发生在多个类之间

2、继承使用关键字extends

3 、Java只能单继承,允许多层继承

4、是被继承的类叫父类,继承父类的类叫子类

5、在父类中的非私有属性和方法可以被指类继承

6、构造方法不能被继承

7、创建对象会调用构造方法,调用构造方法不一定就是创建该类对象

8、实例化子类对象会先调用父类的构造方法,如果父类中没有默认的构造方法,那么子类必须显式地通过super来调用父类的带参构造方法,super也只能在纸类构造方法中的第一句

  1. 定义一个接口使用interface关键句

  2. 在一个接口中只能定义常量抽象方法jdk 1.8之后可以定义默认的实现方法

  3. 接口可以继承多个接口

  4. 一个具体类实现接口使用implements关键字

  5. 一个类可以实现多个接口

  6. 抽象类实现接口可以不实现接口的方法

  7. 在接口中定义的方法设有声明访问修饰符默认为public

  8. 接口不能有构造方法

  9. 接口不能被实例化

  10. 抽象类可以没有抽象方法有抽象方法的类必须是抽象类

  11. 非抽象类继承抽象类必须实现所有抽象方法

  12. 抽象类可以继承抽象类可以不实现父类的抽象方法

  13. 抽象类可以有方法实现和属性

  14. 抽象类不能被实例化

  15. 抽象类不能声明为Final

  16. 抽象类可以有构造方法

单例设计模式

简单工厂模式

抽象类应用---模板方法模式

接口应用---策略模式

静态代理模式

适配器模式

装饰者模式

生产者与消费者应用案例

相关推荐
西猫雷婶24 分钟前
python学opencv|读取图像(十九)使用cv2.rectangle()绘制矩形
开发语言·python·opencv
桂月二二1 小时前
Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
java·docker·kubernetes
liuxin334455661 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
码农W1 小时前
QT--静态插件、动态插件
开发语言·qt
ke_wu1 小时前
结构型设计模式
开发语言·设计模式·组合模式·简单工厂模式·工厂方法模式·抽象工厂模式·装饰器模式
小马爱打代码1 小时前
设计模式详解(建造者模式)
java·设计模式·建造者模式
code04号1 小时前
python脚本:批量提取excel数据
开发语言·python·excel
小王爱吃月亮糖1 小时前
C++的23种设计模式
开发语言·c++·qt·算法·设计模式·ecmascript
栗子~~2 小时前
idea 8年使用整理
java·ide·intellij-idea
hakesashou2 小时前
python如何打乱list
开发语言·python