当前位置:首页 » 《随便一记》 » 正文

零基础学java-类和对象_Biteht的博客

25 人参与  2022年05月01日 08:53  分类 : 《随便一记》  评论

点击全文阅读


封装

     什么叫封装?

      private实现封装

        getter和setter方法

 构造方法

        基本语法

         如何构造

this关键字

认识代码块

       普通代码块

       构造代码块

       静态代码块

补充说明 

         toString方法

 匿名对象

 内容重点总结


 封装

     什么叫封装?通俗的来说就是将一个物体封装起来不让别人使用,在我们java里面的封装,有哪些呢?一般我都在java当中用private来实现封装。

private实现封装

 private/ public 这两个关键字表示 "访问权限控制"

public 修饰的成员变量或者成员方法, 可以直接被类的调用者使用

private 修饰的成员变量或者成员方法, 不能被类的调用者使用

直接使用public

执行结果

我们来看看这这样的代码,如果我们想(name改成myName)我们需要大规模的修改自己的代码,维护成本高花费的精力也大,为了减少这种大规模修改自己的代码,我们该怎么办呢?

使用 private

 

当我们不想让setName里面的值为“bit”时,我们只需要在setName里面修改就行了,不用去挨着每个修改。 

 注意

1.使用private封装,属性就被封装起来了!只能在类(当前类)中使用!此时提供公开的get和set方法!
2.封装的好处是让属性更安全。

getter和setter方法

当我们使用private封装时,属性被封装起来,只能在类中使用。此时提供公开的getset方法!

 

 如何快速使用getter和setter的方法!

 构造方法

构造方法:1.方法名和类名是相同的,且构造方法比较特殊,没有返回值。

构造方法是干嘛的?--》一个对象的产生(对象的实例化)

1.为对象分配内存 

2.调用合适的构造方法。(合适:意味着构造方法不止一个!)

 

 

*注意
* 1.如果没有实现任何的构造方法,编译器会帮我们默认生成一个不带参数的构造方法
* 也就是说一个类,至少会有一个构造方法,就算你没有写!
*2.如果当前类有其他的构造方法,那么编译器就不会帮我们生成不带参数的构造方法!
*3.构造方法之间可以构成重载!

this关键字

    this表示当前对象引用(注意不是当前对象). 可以借助 this 来访问对象的字段和方法  

* this3种用法 *

1.this.data调用当前对象的属性 

2.this.func()调用当前对象的方法 

3.this()调用当前对象的其他构造方法 * 注意只能存放在构造函数当中!!!!

 

 

认识代码块

根据代码块定义的位置以及关键字,又可分为以下四种:

普通代码块

构造块

静态块

同步代码块

举个例子;实例代码就是使用{}定义的代码,而静态代码是在使用关键字static{}

 

 如何被调用呢?

在主函数main中new一个对象

 

 打印结果

我们发现,打印出来的顺序是静态代码在前,实例代码在后,最后才是我们的构造方法

这说明代码块执行是有顺序的,静态代码-》实例代码-》-》构造方法。

补充说明

      toString方法

      它可以把我们的对象转换为字符

     

 

 

我们来看打印结果,加上toString方法后我们打印的结果 自动给我们转化称为了字符。

如何快速使用toString方法?

这和我们在private封装采用set和get方法一样。

 

  匿名对象

什么是匿名对象?

没有名字的对象,且只能使用一次!

 

 

内容重点总结

1.一个类可以产生无数的对象,类就是模板,对象就是具体的实例。

2.类中定义的属性,大概分为几类:类属性,对象属性。其中被static所修饰的数据属性称为类属性, static修饰的 方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。

3.静态代码块优先实例代码块执行,实例代码块优先构造函数执行。

4.this关键字代表的是当前对象的引用。并不是当前对象。

小生不才,只能出这么粗糙的文章了,若有建议,洗耳恭听啊!!!


点击全文阅读


本文链接:http://zhangshiyu.com/post/39221.html

方法  构造  代码  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1