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

单例设计模式

简单工厂模式

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

接口应用---策略模式

静态代理模式

适配器模式

装饰者模式

生产者与消费者应用案例

相关推荐
谷哥的小弟几秒前
Spring Framework源码解析——ApplicationContextInitializer
java·spring·源码
羸弱的穷酸书生1 分钟前
国网 i1协议 python实现
开发语言·python
电子硬件笔记2 分钟前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌3 分钟前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#
cooldream20097 分钟前
当代 C++ 的三大技术支柱:资源管理、泛型编程与模块化体系的成熟演进
开发语言·c++
while(1){yan}14 分钟前
网络基础知识
java·网络·青少年编程·面试·电脑常识
Ulana18 分钟前
计算机基础10大高频考题解析
java·人工智能·算法
洲星河ZXH24 分钟前
Java,集合框架体系
开发语言·windows
黄俊懿25 分钟前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——@GlobalTransactional注解与@globalLock生效的原理
java·spring cloud·微服务·云原生·架构·系统架构·架构师
宠..29 分钟前
写一个感染型病毒
开发语言·安全·安全性测试