A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、构造函数
   对象初始化,同样要进栈
   构造函数里面,可以调用其他的方法吗?  可以
    一般函数也可以用类名
    构造函数一旦定义过,则默认的函数没有了
    构造函数里面可以有return语句吗 ?可以有,结束函数的功能

2、this 关键字
    当成员变量与局部变量重名,可以用关键字this来区分

this: 代表当前对象,所在函数所属对象的引用
          哪个对象调用了this所在的函数,this就代表哪个对象

3、构造函数与构造函数之间,如何访问
   this也可用于在构造函数中调用其他构造函数,但要放在第一行
    避免相互调用,造成死循环

4、this关键字的应用
    通常在本类中应用

1、static关键字(又是一个修饰符)
    类名.属性:可以调用其属性,当然也可以通过对象名.属性
static 特点
  1,static是一个修饰符,用于修饰成员
  2,static修饰的成员被所有的对象所共享
  3,static优先于对象存在,因为static的成员随着类的加载就已经存在
  4,其修饰的成员多了一种调用方式,可以直接被类名所调用,调用格式    类名.静态成员

  5,静态修饰的数据是共享数据,对象中存储的是特有数据
成员变量(实例变量),类变量,类类型变量(P)

2、成员变量与静态变量的区别

  1,两个变量的生命周期不同
   成员变量随着对象的创建而存在,回收而释放
   静态变量随着类的加截而存在,随着类的消失而消失

  2,调用方式不同
   成员变量只能被对象调用
   静态变量可以被对象调用,也可以类名调用(最好用类名调)
  
   3,别名不同
    成员变量也称为实例变量
     静态变量称为类变量

   4,数据存储位置不同
    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据
    静态变量数据存储在方法区的静态区,所以也叫对象的共享数据

    5、无法从静态上下文中引用非静态变量(静态先存在,那个时候的对象还不存在)
   
3、静态方法的注意事项:
   1,静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态)
   2,静态方法中不可以使用this或super
   3,主函数是静态的

4、public static void main(String[] args)固定格式,虚拟机认
主函数特殊之处:
   1,格式是固定的
   2,被jvm所识别和调用
public: 权限最大
static:虚拟机在调用主函数的时候,不需要对象,直接用主函数所属类名调用即可
void:没有具体的返回值
main:不是关键字,只是一个jvm识别的固定的名字
String[] args:是主函数的参数列表,是一个数组类型的参数,而且元素都是字符串类型
args:arguments 参数

5、静态什么时候用?
1,静态变量。成员变量
   当分析对象中所具备的成员变量的值都不发生变化,且相同的时候,这时这个成员可以被静态修饰
   如果要变化,则必须存储在对象中,是非静态的
   如果是相同的数据,对象不需要做修改,只需使用即可,不需要存储在对象中。定义在静态中

2,静态函数
   
    函数是否用静态修饰,就是该函数功能是否有访问到对象中的特有数据
简单点,从源代码看,该功能是否需要房问非静态的成员变量,如果需要,则是非静态的,如果不需要,则可以将该功能定义成静态的。浪费空间


6、类与类之间调用
   如果一个类中的方法全是静态的,那么该类是不需要创建对象的,为了保证不让其他成员创建该类对象
那么可以将该类的构造函数私有化。

1 个回复

倒序浏览
前面的编码有点乱
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马