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. 抽象类可以有构造方法

单例设计模式

简单工厂模式

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

接口应用---策略模式

静态代理模式

适配器模式

装饰者模式

生产者与消费者应用案例

相关推荐
molaifeng21 小时前
Go 语言如何实现高性能网络 I/O:Netpoller 模型揭秘
开发语言·网络·golang
韩师学子--小倪21 小时前
fastjson与gson的toString差异
java·json
Drawing stars21 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
崇山峻岭之间21 小时前
Matlab学习记录33
开发语言·学习·matlab
Evand J21 小时前
【2026课题推荐】DOA定位——MUSIC算法进行多传感器协同目标定位。附MATLAB例程运行结果
开发语言·算法·matlab
nbsaas-boot21 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
行百里er21 小时前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
jllllyuz21 小时前
基于MATLAB的二维波场模拟程序(含PML边界条件)
开发语言·matlab
忆锦紫21 小时前
图像增强算法:Gamma映射算法及MATLAB实现
开发语言·算法·matlab
玄〤21 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot