面向对象2 (匿名对象 static关键字 包 封装 this)

  1. 匿名对象及生命周期
  1. 匿名对象的概念

1.匿名对象,就是没有名字的对象[创建了一个对象而没有使用变量接收]

2.该对象存在于堆总处于游离状态:没有任何变量持有引用地址,指向他

3.但是匿名对象本质也是一个对象

1)int i = 10;//int数据类型    i变量     值,具体的一个数据

2)Student  stu = new Student();//Student数据类型   stu对象    new Student();堆中的一个对象

  1. 匿名对象的作用

匿名对象的使用场景:

1.作为对象:只是使用一次(调用一次普通的方法)

2.作为数据值:把匿名对象作为一个[实际参数---实参]进行传递

 

3.作为数据值:匿名对象还可以作为返回值

 

  1. static关键字
  1. static的概念

static关键字:java规定的,赋予了特殊意义的,一个单词

  1. static可修饰内容的测试

修饰:考虑能够修饰什么东西?java中的东西

 

1.普通方法:可以

2.字段[成员变量]

 

3.类[

外部类:不行:java规定

内部类:写在类里面的类叫做内部类]可以  java规定!面向对象最后阶段,看内部类

本质内部类还是一个类而已!

4.局部变量:不行

5.构造方法:不行

  1. static修饰字段及方法应该如何使用

静态修饰符:类名.去访问

非静态的字段,非静态的方法:对象名.方法名+参数里:所以应该【通过对象访问】

  1. static修饰字段方法有什么作用

 

字段:一旦被静态修饰:该字段是被该类的所有对象共享

  一旦一个对象,改了静态字段的值:其他对象用的都是改过之后的值

 

  1. static类级别的修饰符

感受类级别,对象级别的区别

1.如果有static修饰:改等于改的是一类的事物的静态属性

2.如果没有static修饰:改的就是对象自己的静态属性

  1. 包的概念及作用

包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。

  1. 声明包

package cn.itsource.oa.erp.domain;

声明包:管理当前的这个类 :把当前的类,放入到所声明的包中

 

1.规范

a)自己一定需要有规范命名的意识,具体怎么写以公司标准为准;

b)包名中应该全部都是英文,并且是小写的

2.注意事项

a)包的必须在源文件的顶部最开始位置申明

b)同一个源文件中可以有多个类,编译生成的字节码文件都会在该包下面

 

3.目前阶段:想要用包,编译运行,原生命令去做:JDK下面的名字,直接用editplus工具不行

  1. 导入包

包的导入:

1.发现当前类中,每次要用其它包中的类,都要写完全限定名,好麻烦呀.....

2.import java.util.Arrays;//文件的前面,不是最前面{常用....}

  import java.util.*;//*通配符  与任何的都可以匹配

  import *;//瞎整

 

3.导包的作用是啥:确保当前类中,能够正确的使用到类型,并且不用每次都去写完全限定名

 

注意事项:

1.在同一个类中:都使用了类名一样的类!按照刚才导包行否?

  相同类名,不能都通过导入的方式来引用

 

2.发现String 类在java.lang.String  lang包中...没有导包也可以用到

  lang包是核心包:不需要导包的,lang包里面的类,可以直接使用的

  1. 包的分类

1.Java已经写好了很多类,这些类存在于不同的包中!不同的包:   装的是作用不同的类!

1)java/ javax(java增强包)

2)java.lang (java的核心包--基本包)

3)java.util(java的工具包 --集合框架)

4)java.io(java IO包 读写文件)

5)java.net(网络编程)

java.awt/javax.swing(java的图形化界面GUI)  

 

  1. 封装
  1. 封装的概念

通过封装的操作,可以达到从物理层面控制访问(外面不能轻易访问到里面内容--》这个就是物理层面)

  1. 权限的介绍

1.现在在当前类中,如果Student类中的成员,不进行封装,随便修改,访问!

2.给成员提供private权限之后,外部根本没法用!

  1. 封装的步骤及分析

标准的封装步骤:

1.私有化字段,提供private的权限

2.标准的提供getset方法!而且本质就是普通方法而已...

3.提供一个无参数的构造方法

  1. 封装的注意事项

注意:如果字段类型是boolean sex;

  方法名字规范:

  setSex

  getSex---变成---->isSex

 

  1. this
  1. this的概念

this概念 : 指代当前对象,持有当前对象的地址值

  1. 如何区分this指代的对象

怎么判断this到底持有的那个对象的地址值

1.官方说法:this所在的函数【普通方法,构造方法】,正在被谁调用,this就指代谁?

2.民间版本:this:当前被那个对象持有,this就指代谁:

  1. this的使用场景

1.this的使用场景:主要还是看你在设计一个类的时候,他能干什么

1.区分了成员字段,和局部变量的二异性

2.this:持有当前对象的地址值?

1.对象:

2.数据:

设计代码的时候作为参数传递

3.this可以在当前类中,构造方法之间相互调用

  1. 如何理解this的语法设计

this 正在被 那个对象所调用或者说 所持有,this 就指代的这个对象。

转载于:https://my.oschina.net/u/4083693/blog/3019954

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值