属性
静态属性(类变量)
为该类的多个实例对象所共享,不属于具体某个对象,通过类.静态属性名调用
非静态属性(实例变量)
不属于类,具体归某个对象所有(实例变量),通过对象名.属性名调用
与变量作对比的不同点
声明的位置不一样
属性有默认初始值,变量没有
在内存中加载的位置不一样,属性(非静态)加载在堆空间中,变量加载在栈中,随着方法的使用而进栈,方法用完,出栈销毁
属性可以用权限修饰符修饰,变量不行
属性赋值的先后顺序:1.默认赋值,2.显式赋值/代码块赋值,3.构造器赋值,4.对象.属性赋值
方法
方法大体也是分静态方法,非静态方法,理解与属性一致,还有一个抽象方法,放在关键字那里说
一个完整的方法是,权限修饰符,返回值类型,方法名,参数列表,方法体
编译器如何确定调用的是哪一个方法,就是根据方法名和形参列表去确定的
静态方法通过类.方法名去调用,非静态方法通过对象名.方法调用
方法名要达到见名知意
形参列表
如果变量是基本数据类型,此时赋值的是变量所保存的数据值。 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。
方法的重载:只要求方法名一样,参数列表不一样就是方法的重载了
因为开发中,同样的一个功能需求,需要处理不同的参数,例如println(),你有可能输出的是一个数值,也有一个输出的是一个字符,或者说一个数组,这就造就了方法的重载的存在了
可变形参,底层就是一个数组,只不过他帮你造好了数组而已
return关键字的作用:第一用来返回某个值,第二用来结束方法
构造器
每个类中必须要有构造器
作用:用来加载该类的结构和功能(加载类定义的成员),并对类的信息进行初java思维导图基础始化
一个类中可以根据具体需求声明多个构造器(用到了方法重载)

在继承中结合this和super关键字加载本来和父类的结构和功能
构造器不能于static连用,因为他是用来造对象的,归具体某个对象所有,是不可能拿出来共享的。
如果我们不自己定义构造器,系统会自动赠送一个空参构造器,在new对象的时候就会调用了
代码块
作用:初始化类中的信息,一般用于初始化代码较多的情况,不单单初始化属性,构造器中一般是用来初始化属性的
方法体里面能写什么,代码块里面就能写什么,所以说他是初始化有一堆代码需求采用的,开发中较少使用
需要注意的点
代码块和构造器的初始化不同
构造器的初始化只加载不执行,而代码块的初始化是加载并执行
静态代码块是随着类的加载而执行的,类只加载一次,所以静态代码块也只执行一次
非静态代码块是随着对象的加载而执行的,每创建一个对象,非静态代码块就加载并执行一次
不提供外部调用(执行),是随着类或对象的加载去执行的
内部类
内部类的理解及分类
内部类的理解
作为外部类的一个成员去理解
他本身作为一个类去理解,可以定义类中该有的成员
内部类特殊的点
内部类用abstract和static一起修饰,而外部类是不行的,外部类不能用static修饰
作为一个成员,内部类是可以用statci修饰的,相当于一个静态结构的成员
内部类的分类
如何实例化成员内部类
根据类的成员去理解,找到这个成员,创建对应的对象即可。
举例:非静态的成员内部类,先创建外部类的对象,然后用外部类的对象.new 内部类的对象。静态的也类似
成员内部类如何调用外部的结构,外部类如何调用内部的结构
创建相应的对象,通过对象去调用即可
局部类内部类开发的应用场景
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7807.html