Java 学习 day10:变量作用域,This用法,Static用法

1.回顾及变量作用域

1.1实例化和使用

对象创建时的实例化步骤:

        1.把类加载到静态区

        2.new过程会再堆内存创建内存空间

        3.调用构造方法,对该空间进行初始化操作,把成员属性复制到该空间中

        4.构造方法执行完弹栈,最后把堆内存对象的地址,赋值给变量o

1.2        javaBean

JavaBean : JavaBean是公共Java类,但是为了编辑工具识别,需要满足至少三个条件:有一个public默认构造器(例如无参构造器,)属性使用public 的get,set方法访问,也就是说设置成private,同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。需要序列化。这个是框架,工具跨平台反映状态必须的最近看<Think in Java>,里面讲到JavaBean最初是为Java GUI的可视化编程实现的.你拖动IDE构建工具创建一个GUI 组件(如多选框),其实是工具给你创建java类,并提供将类的属性暴露出来给你修改调整,将事件监听器暴露出来.

EJB : 在企业开发中,需要可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。 然后有提高了协议要求,就出现了Enterprise Bean。EJB在javabean基础上又提了一些要求,当然更复杂了。

POJO :  有个叫Josh MacKenzie人觉得,EJB太复杂了,完全没必要每次都用,所以发明了个POJO,POJO是普通的javabean,什么是普通,就是和EJB对应的。      总之,区别就是,你先判断是否满足javabean的条件,然后如果再实现一些要求,满足EJB条件就是EJB,否则就是POJO。

特点:

1.所有属性为private (成员变量私有化)

2.提供默认构造方法(就是无参)

3.提供getter和setter方法

1.3        常见异常

1.空指针异常 

给引用数据类型赋值为null,当我们使用null值,去调用成员属性的时候,此时会弹出空指针异常

1.4        对象调用静态属性

 1.5        传址和传值

 输出应该是11 10 11 11,局部变量的两个i因为在不同方法中,所以i不是同一个i,而引用类型变量保存的是地址,一旦改变堆内存中的数据,地址没变,所以内容必会改变,无论谁访问

1.6        变量优先级

1.静态变量(static)和成员变量不可以同名

2.一个作用域中,不可以有同名的变量.

3.局部变量可以和静态变量及成员变量同名,同名情况时,若不加类名则调用的是局部变量,若加类名则调用的是静态变量

1.7        如何区分同名的构造方法和成员方法

构造方法没有返回值类型这一项,而成员方法有

2.This

2.1        是什么

this:是指每个对象中保存自己内存地址的一个引用类型变量

表示这个对象本身,就好像我们说"我"一样

2.2        能干什么

1.用在成员方法和构造方法中,可以区分同名的局部变量和成员变量

        语法:this xxxx(成员变量) = xxxxx(局部变量,一般情况是传入的参数) ;

2.用在某个构造方法中,由于重载调用当前类中的其他构造方法,传参数给另一个构造方法

        语法:this(参数) ;

        必须写在构造方法中的第一行

3.return this; 可以做到链式调用

        核心原理:前者的返回值,一定是可以调用后者的引用

一个成员方法中,哪个对象调用这个方法,那么this就指是哪个对象

2.3        怎么用

2.3.1        区分成员变量和局部变量

 2.3.2        构造方法重载调用

 2.3.3        链式调用

 2.3.4        注意

this不能出现在静态上下文中(静态方法中)

3.Static用法

3.1        是什么

static 是修饰符,用来区分静态和成员

3.2        能做什么

可以修饰三个东西:静态变量,静态方法,静态语句块

静态变量:类体中用static修饰的变量

静态方法:使用static修饰的方法

静态语句块:使用static修饰的代码块,一个大括号就是一个语句块

3.3        怎么用

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值