码迷,mamicode.com
首页 > 编程语言 > 详细

JAVASE(七)面向对象:封装性(特性之一)、构造器、属性、关键字

时间:2020-01-17 10:09:09      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:spl   定义   pca   drag   私有化   源文件   重载   属性   handle   

一、封装性

1、为什么要使用封装性?

创建对象以后,可以通过对象.属性名的方法进行赋值。只能限制数据的类型,和数值的范围。但是往往我们需要更多的其它条件的限制。在属性的声明处无法限制。所以我们采用如下的方式。

  1. 使用权限修饰符对属性进行修饰,在其它的类中就无法直接对属性进行调用和赋值。
  2. 提供公共的方法,通过方法给属性进行赋值,或者通过方法获取值。在方法的内部我们可以对属性的赋值的进行条件的限制。

2、封装性思想具体的代码体现:

封装性的体现(狭义上)

1.私有化属性

2.提供公共的set/get方法

封装性的体现(广义上)

1.使用权限修饰符修饰属性。权限修饰符有四种 :private 缺省的 protected public

2.四种权限修饰符可以修饰:属性,方法,构造器,内部类

3.类只能被public和缺省的所修饰
技术图片

 

二、类的成员之构造器

作用:①创建对象   ②用来给对象进行初始化
格式:
     权限修饰符 类名(形参列表){
             方法体;
    }
说明:
①如果一个类中没有显示的定义构造器,那么在创建对象的时候会默认的创建一个空参的构造器
②一个类中可以定义多个构造器,多个构造器之间构成重载
③一个类中如果显示的定义了构造器,那么系统就不会再创建空参的构造器了
④通过构造器赋值,只能赋值一次,所以还是需要set方法的。

三、属性的赋值顺序

赋值方式 :
1.默认值   2.显示赋值    3.构造器赋值   4.对象名.方法名/对象名.属性名  
赋值顺序 :1 ->  2 -> 3 -> 4

四、关键字: this

this关键字表示:当前的对象

this可以用来调用 :属性,方法,构造器


this调用属性和方法:
在方法和构造器中调用属性和方法,往往我们会省略掉"this."。如果构造器和方法中,局部变量名和属性名相同。那么我们必须使用"this."来区分局部变量和属性。


this调用构造器 :
格式 :this(形参列表)

  1. this(形参列表) 只能放在构造器的首行
  2. 一个构造器中只能有一个this(形参列表)
  3. 如果N个构造器那么最多只能有N-1个 this(形参列表)
  4. 构造器中不能自己调用自己的构造器

五、关键字:import和package

package作用 : java为了将类进行统一的管理和划分,提供了包的概念。
说明 :
1.包名遵守标识符的规则和规范。xxxyyyzzz
2.每“.”一次代表一层目录
3.不同的包下面的类的类名可以相同
4.组织机构的类型(com.edu) + 组织机构的名称 + 项目名 + 模块名
 例 : com.atguigu.chat.login
5.包名可以告诉编译器字节码所需要存放的目录。
6.package只能在源文件的首行


关键字 :import

    1. 在源文件中使用import显式的导入指定包下的类或接口
    2. 声明在包的声明和类的声明之间。(声明的位置)
    3. 如果需要导入多个类或接口,那么就并列显式多个import语句即可
    4. 举例:可以使用java.util.*的方式,一次性导入util包下所的类或接口。
    5. 如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import语句。
    6. 如果在代码中使用不同包下的同名的类。那么就需要使用类的全类名的方式指明调用的是哪个类。
    7. import static组合的使用:调用指定类或接口下的静态的属性或方法 (了解)
    8. 如果已经导入java.a包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。

JAVASE(七)面向对象:封装性(特性之一)、构造器、属性、关键字

标签:spl   定义   pca   drag   私有化   源文件   重载   属性   handle   

原文地址:https://www.cnblogs.com/wushaopei/p/12204092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!