面向对象的三大特性之(一)封装
来源:互联网 发布:紫川软件 编辑:程序博客网 时间:2024/05/22 23:00
面向对象的三大特性:封装、继承、多态
一、封装
1、概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
2、好处:
- 只能通过规定的方法访问数据
- 隐藏类的实例细节,方便修改和实现
3、封装的实现步骤
例如:
public class Telphone{ private float screen; public float getScreen(){ return screen; } public void setScreen(float newScreen){ screen = newScreen; }}public static void main(String[] args){ Telphone phone2 = new Telphone(5.0f); phone2.setScreen(6.0f); System.out.println("screen:"+phone2.getScreen());}
eclipse可以自动生成setter和getter,在Source–>Generate Getters and Setters,自动检查到当前类中有哪些属性,在需要生成setter和getter的属性前打勾
二、Java中的包
1、包的作用:
- 管理Java文件
- 解决同名文件冲突
2、定义包:package 包名
注:必须放在Java源程序的第一行
包名间可以使用”.”号隔开
eg:com.shauna.MyClass
3、系统中的包
java.(功能).(类)
java.lang.(类) 包含java语言基础的类
java.util.(类) 包含java语言中各种工具类
java.io.(类) 包含输入、输出相关功能的类
4、包的使用
- 可以通过import关键字,在某个文件使用其他文件中的类。
import com.shauna.music.MyClass - Java中,包的命名规范是全小写字母拼写
- 使用的时候不但可以加载某个包下的所有文件
eg:com.shauna.*
也可以加载某个具体子包下的所有文件
eg:com.shauna.music*
三、访问修饰符
访问修饰符:可以修饰属性和方法的访问范围
访问修饰符的总结:
本类就当于自己
同包即为同一路径下
四、this关键字
1、this关键字代表当前对象
this.属性 操作当前对象的属性
this.方法 调用当前对象的方法
2、封装对象的属性的时候,经常会使用this关键字
自动创建setter时,经常如下:
public float setScreen(float screen){ this.screen = screen;}
还可以调用当前类的某个方法:
public void sendMessage(){ System.out.println("sendMessage");}public float setScreen(float screen){ this.screen = screen; this.sendMessage();}
阅读全文
0 0
- 面向对象的三大特性之(一)封装
- 面向对象三大特性之封装(一)
- 面向对象三大特性之封装
- 面向对象三大特性之封装
- PHP面向对象的三大特性之封装性
- java面向对象的三大特性之封装
- PHP面向对象的三大特性之封装性
- 【java基础知识】面向对象的三大特性之封装
- 面向对象的三大特性之封装
- Java面向对象的三大特性之--《封装》
- 黑马程序员_OC语言之面向对象的三大特性(封装、继承、多态)
- 面向对象三大特性 之 封装(C#)
- 黑马程序员 面向对象及三大特性之封装
- 黑马程序员-面向对象三大特性之封装
- 小糖出品:面向对象三大特性之封装
- Objective C(OC)面向对象三大特性之:封装
- Java面向对象三大特性之封装
- java-面向对象编程-三大特性之封装
- c语言——第0次作业
- nginx学习随笔--worker_rlimit_nofile
- Java 线程执行器 详解
- Android Studio中keymap和Tip of the Day介绍的快捷键
- 在VNC中Xfce4中Tab键失效的解决方法
- 面向对象的三大特性之(一)封装
- TotoiseSVN的基本使用方法
- [UIApplication sharedApplication].keyWindow和[UIApplication sharedApplication].delegate.window
- 简单字符设备的驱动源码讲解
- socket编程为什么要选择AF_INET?
- Android界面性能优化必读
- Java泛型擦除和泛型的子类继承限制
- mysql 错误Please DISCARD the tablespace before IMPORT解决方案
- 4557: [JLoi2016]侦察守卫