1.static修饰属性后,属性就被放入java虚拟机的方法区中(只有一份),之后该属性便是类的共享资源,不属于对象属于类,访问方式为类名.属性(对象.属性会报警告 不建议这样写)
2.static修饰方法后同样也是使该方法属于类而不属于对象,而且可以直接调用静态方法无需创建类的实例。最重要的是可以访问静态成员,并可以改变静态数据成员的值。
3.静态方法不可以访问普通数据成员和普通方法。普通方法可以访问静态的东西。
4…不管是静态方法还是非静态方法其内部都不可以定义静态变量,静态变量只能定义在类内方法外。
============================================================================
封装就是为了降低代码的管理复杂度,降低调用者的使用成本。但必须要有get和set方法。
=======================================================================
new过程:1.为对象分配内存空间。2.调用对象的构造方法。
实例的初始化流程
1.类被加载的时候,普通方法加载到方法区,静态方法和静态字段加载到方法区中的静态区
2.首先静态字段会进行默认初始化。
3.然后静态字段会进行显示初始化。
public class DayTest {
static int i;
public static void main(String[] args) {
System.out.println(i);
//输出为0
}
}
1.如果类中没有提供任何的构造函数,那么编译器会默认生成一个不带有参数的构造函数
2.若类中定义了构造方法,则默认的无参构造将不再生成.
3.构造方法支持重载. 规则和普通方法的重载一致.
==========================================================================
表示当前对象的引用。用此来访问对象的字段和方法。
1.静态方法内不可以使用this
2.this可以通过 . 访问普通数据成员普通方法和另外一个构造方法(必须放在第一行格式 this() ),不建议用this访问静态的东西。
===========================================================================
1.静态代码块{静态属性 静态方法(多个静态方法看定义顺序)}
2.实例代码块{实例数据成员 实例代码块(多个实例代码块看定义顺序)}
3.构造函数**
import java.util.Scanner;
class Calculator {
private int num1;
private int num2;
private static int num3;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Java高频面试专题合集解析:
当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!
更多Java架构进阶资料展示
片转存中…(img-JsRi1myE-1711754060372)]
更多Java架构进阶资料展示
[外链图片转存中…(img-o84XJp9o-1711754060373)]
[外链图片转存中…(img-4k1ScPKc-1711754060373)]
[外链图片转存中…(img-cNQJF5am-1711754060374)]