码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象的基本特征:封装

时间:2019-12-06 00:19:12      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:面向   name   使用   当前目录   公司   ring   输出   col   mat   

封装的好处

1、调用者:方便使用/简化使用

2、设计者:安全,可控

如何实现封装,控制不同等级的封装

使用权限修饰符

修饰符 本类 本包 其他包的子类 其他包的非子类
private × × ×
缺省 × ×
protected ×
public

权限修饰符可以修饰什么?

所有的权限修饰符都可以修饰:成员变量、成员方法、构造器、成员内部类

可以修饰外部类的权限修饰符:缺省和public

属性私有化

1、在属性前面加private

2、根据需求提供get/set方法

  1 public class Student{
  2 	private String name;
  3 	private int age;
  4 	private boolean marry;
  5 
  6 	public void setName(String name){
  7 		this.name = name;
  8 	}
  9 	public String getName(){
 10 		return name;
 11 	}
 12     public void setAge(int age){
 13         this.age = age;
 14     }
 15     public int getAge(){
 16         return age;
 17     }
 18     public void setMarry(boolean marry){
 19         this.marry = marry;
 20     }
 21     public boolean isMarry(){//boolean类型的属性,它的标准的get方法,用is代替get
 22         return marry;
 23     }
 24 }

1、包的作用

(1)控制可见性范围

如果在这个包中的某个类或成员,它的权限修饰符缺省了,就表示这个类或成员仅限于本包使用

(2)避免类的重名

(3)按照不同的主题来分门别类管理类

因为包在编译后是对应文件夹

常见的包:

java.long:核心语言类库,例如:String,System,Math,Thread…

java.io:输入输出相关

java.util:各种工具

java.net:和网络编程相关

java.sql:和数据库相关

2、如何声明包

  1 package 包名;

位置必须在.java文件的首行,一个.java文件只能有一句

包名的命名规范:(1)所有单词都小写,单词之间使用.分割(2)习惯上用公司域名倒置+模块名

3、如何编译带包的源文件

  1 javac -d . 源文件名.java
  • -d:创建包目录结构
  • .:表示在当前目录

4、如何运行代表的类

  1 java 包.类名

5、如何使用其他包的类

(1)实用类的全名称

  1 java.util.Scanner input = new java.util.Scanner(System.in);

(2)使用import语句导包,在代码中使用简名称

  1 import 包名.类名;
  2 import 包名.*; //*只能省略最后一级的类名
  3 
  4 //静态导入
  5 import static 包名.类名.静态成员;
  6 import static 包名.类名.*;

当使用两个不同包,但是类名相同的两个类时,只能一个使用导包,一个使用全名称,不能两个都使用导包。

被使用的其他包的类或成员,它的权限修饰符必须是>缺省

面向对象的基本特征:封装

标签:面向   name   使用   当前目录   公司   ring   输出   col   mat   

原文地址:https://www.cnblogs.com/daidai66/p/11992838.html

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