什么是封装?为什么要用 封装?
封装是什么
- 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
封装途径
-
封装就是将抽象得到的数据和行为(或功能)相结合,形成有机整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”。
- 其中数据和函数都是类的成员。
封装的目的
-
增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
- 把尽可能多的东西藏起来.对外提供简捷的接口。
- 把所有的属性藏起来。
JAVA的访问修饰符
- Java有public、protect、friendly、private四种访问权限,并且这四访问权限的访问范围越来越小。
默认不加任何修饰符情况
在同文件内,默认不加修饰符情形
class Person//默认为 private
{
//1.测试默认的包访问权限,全部不加访问修饰符
String name;
int age;
int number;
int stucode;
void set(int a,int b,int c)
{
age=a;
number=b;
stucode=c;
}
void say()
{
System.out.printf("age=%d,number=%d,stucode=%d",age,number,stucode);
System.out.println();
}
}
public class PersonTest
{
public static void main(String[] agrs)
{
Person a=new Person();
a.set(10,20,30);//直接访问
a.age=100;//默认情况下可以直接访问修改数据
a.say();
}
}
在同目录下,不命名包。都用默认修饰符,不同文件能否相互访问类方法?
//文件PersonTest.java 未指定package name,和Say.java在同个目录下,测试在这里能否直接调用Say.java中类Say中的方法?
public class PersonTest
{
public static void main(String[] agrs)
{
Say one=new Say();
one.setab(5,100);
one.sayab();
}
}
//文件Say.java 未指定package name,但是和PersonTest.java在同一目录下,测试在PersonTest.java中能否直接调用这些方法?
class Say
{
int a;
int b;
void setab(int x,int y)
{
a=x;
b=y;
System.out.println("调用成功");
}
void sayab()
{
System.out.println(a);
System.out.println(b);
}
}
public修饰符
简述:开放的权限最大,可以被任何class调用
package me.lady;
public class Lady{
public void say(){
System.out.println("O~my Cowboy");
}
}
//Public 挎包访问测试
//这个叫牛仔包,牛郎包或者牛肉包都行,反正都制定包名了
package me.cowboy;
//导入lady
import me.lady.*;
public class Cowboy{
public void love(){
Lady mimi=new Lady();
System.out.println("O~Lady");
mimi.say();
}
public static void main(String[] args){
Cowboy coco=new Cowboy();
coco.love();
/*输出:
yg@Gander:~/Desktop/code$ java me.cowboy.Cowboy
O~Lady
O~my Cowboy
*///可以挎包访问亲~
}
}
分享到:
相关推荐
内容是C++面对对象的,目录大致来源于菜鸟文档的C++面向对象,笔记是参考各种文章以及菜鸟文档改编的,内容包含C++类和对象(类定义和对象定义,类成员函数,类访问修饰符,友元函数,内联函数,this指针,静态成员...
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.rar
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.pdf
java笔记-从菜鸟到j2se j2ee高手之路
股市菜鸟必读----“笑傲股市”学习笔记.pdf
JAVA入门级笔记,满满当当适合刚学习用JAVA编程的程序员,不死记硬背靠理解走遍天下
java菜鸟学习第一步-java基础语法,学习一门语言先从语法开始学起,学好基础才能深入的学习编程
菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的
本人刚接触C#,练练手做了个小程序,美化效果比较差,对刚学OO思想想俺一样的菜鸟或许有那么点帮助,希望大家多多指教
Python基础语法-菜鸟教程-函数⽤法:input()和raw_input() 1.input()和raw_input()⽤法 (1).input() 1)⽤法解释 def input(*args, **kwargs): # real signature unknown """ Read a string from standard input....
这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ~ ---------------------------------------------------- 本 PDF 基于开源文档,目录书签齐全...
java 笔试面试题 Java 面试笔记 这本书其实是我的一本笔记 (还在整理中). 我是也是刚找到工作. 这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ...
Java基础知识笔记详细版-菜鸟翻阅必备,可以作为坐地铁等公交的读物!
java必备-菜鸟的最爱-正则表达式.docx
python-note 菜鸟学习笔记
1 09:15:01 ------>Power:99% ----->Memory:18.24% ---->CPULoad:2.54 2 09:20:01 92% 17.86% 1.06 3 09:25:02 95% 18.58% 1.40 4 09:30:01 80% 19.04% 0.41 5 09:35:01 79% 19.18% 0.73 6 09:40:01 69% 19.13% 0.14...
菜鸟的SAP自学学习笔记;对SAP初学者很有帮助喔!为了解决问题却也带来了相当大的收益,接触了那些以前不会考虑的问题领域,结识了一些之前根本想象不到的人,这些都是那么重珍贵。
STM32菜鸟学习手册-罗嗦版 。
菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华...
JAVA基础学习课件,菜鸟篇。零基础学Java(PPT)--java教学