2024年java思维导图基础

java思维导图基础属性 静态属性 类变量 为该类的多个实例对象所共享 不属于具体某个对象 通过类 静态属性名调用 非静态属性 实例变量 不属于类 具体归某个对象所有 实例变量 通过对象名 属性名调用 与变量作对比的不同点 声明的位置不一样 属性有默认初始值 变量没有 在内存中加载的位置不一样 属性 非静态 加载在堆空间中 变量加载在栈中 随着方法的使用而进栈 方法用完 出栈销毁

大家好,我是讯享网,很高兴认识大家。



属性

静态属性(类变量)

为该类的多个实例对象所共享,不属于具体某个对象,通过类.静态属性名调用

非静态属性(实例变量)

不属于类,具体归某个对象所有(实例变量),通过对象名.属性名调用

与变量作对比的不同点

声明的位置不一样

属性有默认初始值,变量没有

在内存中加载的位置不一样,属性(非静态)加载在堆空间中,变量加载在栈中,随着方法的使用而进栈,方法用完,出栈销毁

属性可以用权限修饰符修饰,变量不行

属性赋值的先后顺序:1.默认赋值,2.显式赋值/代码块赋值,3.构造器赋值,4.对象.属性赋值

方法

方法大体也是分静态方法,非静态方法,理解与属性一致,还有一个抽象方法,放在关键字那里说

一个完整的方法是,权限修饰符,返回值类型,方法名,参数列表,方法体

编译器如何确定调用的是哪一个方法,就是根据方法名和形参列表去确定的

静态方法通过类.方法名去调用,非静态方法通过对象名.方法调用

方法名要达到见名知意

形参列表

如果变量是基本数据类型,此时赋值的是变量所保存的数据值。 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

方法的重载:只要求方法名一样,参数列表不一样就是方法的重载了

因为开发中,同样的一个功能需求,需要处理不同的参数,例如println(),你有可能输出的是一个数值,也有一个输出的是一个字符,或者说一个数组,这就造就了方法的重载的存在了

可变形参,底层就是一个数组,只不过他帮你造好了数组而已

return关键字的作用:第一用来返回某个值,第二用来结束方法

构造器

每个类中必须要有构造器

作用:用来加载该类的结构和功能(加载类定义的成员),并对类的信息进行初java思维导图基础始化

一个类中可以根据具体需求声明多个构造器(用到了方法重载)

在继承中结合this和super关键字加载本来和父类的结构和功能

构造器不能于static连用,因为他是用来造对象的,归具体某个对象所有,是不可能拿出来共享的。

如果我们不自己定义构造器,系统会自动赠送一个空参构造器,在new对象的时候就会调用了

代码块

作用:初始化类中的信息,一般用于初始化代码较多的情况,不单单初始化属性,构造器中一般是用来初始化属性的

方法体里面能写什么,代码块里面就能写什么,所以说他是初始化有一堆代码需求采用的,开发中较少使用

需要注意的点

代码块和构造器的初始化不同

构造器的初始化只加载不执行,而代码块的初始化是加载并执行

静态代码块是随着类的加载而执行的,类只加载一次,所以静态代码块也只执行一次

非静态代码块是随着对象的加载而执行的,每创建一个对象,非静态代码块就加载并执行一次

不提供外部调用(执行),是随着类或对象的加载去执行的

内部类

内部类的理解及分类

内部类的理解

作为外部类的一个成员去理解

他本身作为一个类去理解,可以定义类中该有的成员

内部类特殊的点

内部类用abstract和static一起修饰,而外部类是不行的,外部类不能用static修饰

作为一个成员,内部类是可以用statci修饰的,相当于一个静态结构的成员

内部类的分类

如何实例化成员内部类

根据类的成员去理解,找到这个成员,创建对应的对象即可。

举例:非静态的成员内部类,先创建外部类的对象,然后用外部类的对象.new 内部类的对象。静态的也类似

成员内部类如何调用外部的结构,外部类如何调用内部的结构

创建相应的对象,通过对象去调用即可

局部类内部类开发的应用场景

小讯
上一篇 2024-12-25 08:19
下一篇 2024-12-26 17:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7807.html