Java SE学习总结 Day (9)

Day 09开篇:

        "今天java基础主要学习了面向对象的匿名对象,封装,this关键字,stastic关键字,public static void main(String []args){}每个关键字的作用等。"





知识点反馈:

今天的知识点和每周总结思维导图


 
 
 
 
 




 
 
一.匿名对象:
1. 概念:就是没有名字的实体,也就是说这个这个实体只存在了堆内存地址,并没有栈空间(就是没有名字的对象)
2. 匿名对象的用途:
(1)当对象对方法只进行一次调用的时候,可以使用匿名对象进行简化
     (为什么?因为匿名对象没有栈空间,所以只能使用一次,第二次使用一定会产生新的空间出来,如果你的方法被多次调用,且要求使用        的是同一个对象的时候,匿名就不合适了,他只适合这个对象一次性使用的时候。)
(2)可以作为实际参数进行传递或者返回(前提是你对于这个对象的使用度只有一次的时候)
3. 匿名对象的好处:
(1) 使用完毕就是垃圾,等着GC来回收
(2) 语法简洁,不需要创建对象
4. 匿名对象的缺点:就是一次性使用的
 
二.封装:
1. 概念:隐藏内部实现细节,提供对外的公共访问方式;一般来说,一个即将被作为对象的类,它里面所有的属性都应该是被私有化的。
2. 封装好处:
      (1)隐藏了内部实现细节
      (2)提高了代码的安全性
      (3)相对来说,简化了代码检验程度
3.private关键字:可以对成员变量和成员方法进行修饰,被修饰后,其他类无法进行访问 只能本类进行访问。
4.public:表明该数据成员、成员函数是对所有用户开放的,提供一个公共的访问方式。
 
三.this关键字:
1.概念:可以将一个查找变量的方式指向了所在对象的堆空间,哪个对象使用我,我就代表哪个对象的堆空间(简单的记,this代表的就是成员变量)
2.作用:
(1)使用this来区分当前对象
(2)在构造器中使用this来调用对象本身的其他构造器
(3)this关键字还有一个重大的作用就是返回类的引用
 
四.static关键字:
1.概念:修饰符,被static修饰的成员变量或者成员方法,可以被所有对象共享
2.static的特点:
(1)随着的类的加载而加载
(2)优于对象存在
(3)被所有对象共享(什么样的数据需要被static修饰呢?如果你的数据需要被n个方法或者对象共享,则用static修饰)
(4)直接通过类名调用(因为static修饰的变量,在类加载的时候就已经出生了,所以可以直接通过类名进行调用,同理,也可以使用对象名       进行调用,因为对象产生的时候,static修饰的数据早就已经进入了内存)
(5)出生的顺序:加载类 -> 加载static(num2出生) -> 加载main -> 加载对象进堆(num出生) ->调用num2
4.static的注意事项:
  (1)静态方法无法调用非静态数据(因为静态出来的时候,非静态数据还没出生呢,去哪儿找?)
  (2)静态方法当中,不能存在任何的this关键字(如何理解?静态是随着类的加载而加载,this随着对象的创建而存在静态的优先级比this要高   太多
  (3)非静态方法,可以调用静态数据也可以调用非静态数据
       (简单记住:静态只能访问静态,非静态啥都可以访问)
 
五.public static void main(String []args){}每个关键字的作用:
 
(1)public:公共的访问修饰符
(2)static:静态方法,(如果没有static,是不是意味着JVM调用mian方法之前还得给你创建对象??)
(3) void:说明这个方法不需要返回值
(4)main:方法名(这个方法名比较特殊,由Jvm直接调用)
(5)tring []args:这个方法的形参是一个String的数组
 
 
 


 

发布了29 篇原创文章 · 获赞 7 · 访问量 3173

猜你喜欢

转载自blog.csdn.net/weixin_45406656/article/details/104202735
今日推荐