1 面向对象的三大特点
封装
继承
多态
1.1 封装
封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
private 关键字 是一个权限修饰符 可以修饰成员(成员变量和成员方法)
作用:
保护成员不被别的类使用(被private修饰的成员 的作用范围仅限于当前类)
针对private所修饰的成员变量,如果需要被其他的类使用 ,提供相应的额外操作方法:
- 提供get变量名() 用户获取成员变量(被private)的值,方法修饰的是public
- 提供set变量名(参数) 方法 用户获取成员变量的值 方法也是必须用public进行修饰
- 例如:
1.2 this 关键字
this修饰成员变量:
可以区分成员变量和局部变量: 如果方法的形参和成员变量同名,不带this修饰的变量指的是形参,而this修饰的是成员变量
例如:
什么时候使用this—- 解决局部变量(隐蔽)成员便量
采用 this 关键字是为了解决成员变量和局部变量之间发生的同名的冲突。
this的内存原理:
this代表当前调用方法的对象。哪个对象调用当前的方法,this就代表哪个对象
封装是面向对象的三大特征之一。
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。
封装原则:
将类的某些信息隐藏在类的内部,不允许外部程序直接访问。而是通过该类提供的方法来实现对隐藏信息的操作和访问。
成员变量使用private修饰 提供对象的getXxx()和setXxx()方法
封装的好处:
- 通过方法来控制成员变量的操作,提高代码的安全性
- 把代码用方法进行封装,可以提高代码的复用性。
1.4 java中对封装的体现
-
对于成员变量的封装 使用private
-
类体现的也是对一类事物的属性和行为的封装
-
方法体现了封装的思想:就是将某一个功能封装在其中。
2 构造方法
构造方法也称为构造器(constructor),用于对象的初始化。
- 构造方法是一个创建对象时被自动调用的特殊方法。 目的就是对对象进行初始化。
- 构造方法的名称要与类名完全一致。 构造方法没有返回值 (void也不写)
- java通过new关键字来调用构造方法,从而返回该类的一个实例对象,是一种特殊的方法
2.1 构造方法的注意事项
- 构造方法 :
- 如果没有定义构造方法 系统将给出一个默认的无参构造方法
- 如果定义了构造方法 系统都将不再提供默认的无参构造
- 构造方法的重载
- 如果自定义了带参的构造方法,还要使用无参构造,就必须手动写出无参构造
- 在一个类中,与类名相同的方法就是构造方法。每个类可以具有多个构造方法,但要求它们各自包含不同的方法参数。
-
无论是否使用无参构造,在开发中,都推荐显式的将无参构造定义出来
-
重要功能:可以使用带参构造为成员变量进行初始化
示例:
3 标准的Java bean的写法
-
成员变量 使用private修饰
-
提供getter和seter方法 来访问成员变量
-
提供构造方法:无参的 和带有多个参数的
示例:
4 常用API-String
API-application programming interface 应用程序编程接口
Java中的API :
指的是jdk中提供的各种功能的Java类,这些类底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。
String类位于java.lang包下,凡是位于java.lang包下的类,在使用的时候,不需要导包。String类代表的是字符串。java中的所有的字符串都被实现为String类的实例。java程序中所有使用双引 引起来的字符串,都是String类的对象
4.1 String字符串的特点
-
字符串不可改变,他的值在创建之后就不能被更改
-
虽然String的值是不可变的,但是他们是可以被共享。
-
字符串效果上相当于字符数组(char[]),但是底层原理却是字节数组([byte[ ]])
4.2 String类的构造方法
-
初始化新创建的 对象,使其表示空字符序列。
-
分配一个新的 ,以便它表示当前包含在字符数组参数中的字符序列。
-
通过使用平台的默认字符集解码指定的字节数组来构造新的 。
-
String s = “abc” 直接赋值的方式创建字符串abc
4.3 创建字符串对象的两种方式的区别
4.3.1.通过构造方法创建
使用new创建字符串对象,每一次new都会申请一个内存空间,虽然内容都是相同的,但是所对应的内存地址是不同的。
上面的代码。jvm会首先创建一个字符数组,然后每一次new 的时候 都会有一个新的地址,只不过s3 和ss3参考的字符串的内容是相同的
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!