`
incyanggan
  • 浏览: 34079 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java菜鸟学习笔记--面向对象篇(二):封装与访问修饰符

 
阅读更多

什么是封装?为什么要用 封装?


封装是什么
    • 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
封装途径
    • 封装就是将抽象得到的数据和行为(或功能)相结合,形成有机整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”。
    • 其中数据和函数都是类的成员。
封装的目的
    • 增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
封装的原则
  • 把尽可能多的东西藏起来.对外提供简捷的接口。
  • 把所有的属性藏起来。



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		
		*///可以挎包访问亲~
		
		
	}
}












作者:YangGan
出处:http://blog.csdn.net/incyanggan
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).


分享到:
评论

相关推荐

    菜鸟Java葵花宝典2017-2018

    《菜鸟Java葵花宝典2017-2018》是一本专注于Java学习与面试的资源集合,旨在帮助初学者系统地掌握Java编程语言并为面试做好充分准备。这本书可能涵盖了Java的基础知识、进阶特性、设计模式以及常见面试问题等内容。...

    C++学习笔记- 面向对象 .md

    内容是C++面对对象的,目录大致来源于菜鸟文档的C++面向对象,笔记是参考各种文章以及菜鸟文档改编的,内容包含C++类和对象(类定义和对象定义,类成员函数,类访问修饰符,友元函数,内联函数,this指针,静态成员...

    菜鸟的SAP自学学习笔记

    ### SAP自学学习笔记知识点概述 #### 一、配置总体框架 **1.1 系统环境** - **定义**: 指的是SAP系统的基本硬件和软件环境。 - **重要性**: 正确配置系统环境是确保SAP系统正常运行的基础。 - **涉及内容**: - ...

    Java基础知识笔记详细版-菜鸟翻阅必备

    - 面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态三大特性。 - 平台无关性:通过Java虚拟机(JVM)实现了“一次编写,到处运行”的目标。 - 健壮性:具有自动垃圾回收功能,减少了内存泄漏等问题。...

    JAVA菜鸟面试题库

    综上所述,面对JAVA面试,面试者应当注重技术基础的学习与积累,并在此基础上提升自己的综合能力,包括但不限于沟通技巧、团队协作能力等。同时,了解当前市场的薪资水平和公司招聘偏好有助于更好地定位自己,为未来...

    java学习类网站,让你有菜鸟变高手

    ### Java学习资源汇总:从入门到精通 #### 引言 随着互联网技术的快速发展与迭代,Java作为一门经典的编程语言,依然占据着重要的地位。对于初学者或是希望提升技能的人来说,选择合适的在线学习资源至关重要。...

    基于Java语言教程&案例&相关项目资源

    - **封装**:了解封装的作用,掌握private、public、protected等访问修饰符的使用。 - **多态**:理解多态性的概念,学会使用抽象类和接口实现多态。 5. **异常处理**: - **基本语法**:学习try-catch-finally...

    java学习1-3课笔记

    这份"java学习1-3课笔记"涵盖了初学者入门Java的基础知识,由张孝祥老师的课程内容整理而成,适合对编程感兴趣的菜鸟们作为学习参考资料。 1. **Java简介**: Java是由Sun Microsystems(现为Oracle Corporation的...

    Java学生管理系统——菜鸟

    - **面向对象编程**:Java是一种面向对象的语言,系统的核心会涉及类的设计,包括学生类、班级类、教师类等,每个类都会有自己的属性和方法。 - **控制结构**:如if-else语句、switch-case、for、while循环用于...

    JAVA初学者笔记 使用JAVA理解逻辑基础-菜鸟入门(简单易懂)

    Java提供了两个主要的技术开发平台:Java SE(标准版)用于桌面应用程序的开发,而Java EE(企业版)则针对网络程序和企业级应用。 要开始学习Java,你需要安装JDK(Java Development Kit),并配置相应的环境变量...

    java学习过程中一点总结带实例程序,按章节渐进的

    - **封装**:通过访问修饰符(public、private、protected)实现数据的隐藏,提供公共接口进行交互。 - **继承**:子类继承父类的属性和方法,实现代码复用。 - **多态**:一个接口可以有多种不同的实现方式,...

    Android studio1.3.1从菜鸟到高手--第一季-视频-百度盘

    根据提供的文件信息,我们可以推断出这是一套关于Android Studio 1.3.1的教学视频资料,主要面向初学者到进阶用户。接下来,我们将基于这些信息深入探讨相关的知识点。 ### Android Studio 1.3.1简介 Android ...

    20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.rar

    标题中的“20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建”表明这是一份由银河证券发布的关于2021年8月8日交通运输行业的研究报告,重点提及了菜鸟网络的业务发展情况以及京东航空的...

    C#制作麻将游戏源码,

    此外,“对刚学OO思想想俺一样的菜鸟或许有那么点帮助”暗示源码可能包含了一些面向对象编程(Object-Oriented Programming, OOP)的基础应用,如继承、封装和多态性。 【标签】:“winForm程序”说明这个游戏是...

    runoob菜鸟教程网站镜像

    - **适用对象**:主要面向编程初学者和技术爱好者。 - **应用场景**: - **自学**:利用runoob提供的资源进行自我提升。 - **备课**:教师可以借助这些资源准备课程材料。 - **项目参考**:开发者在项目开发过程...

    菜鸟学安卓 ----01之环境准备

    ### 知识点二:集成开发环境 (IDE) 的选择与配置 #### 2.1 Eclipse 作为 IDE - **Eclipse**:早期 Android 开发常用的 IDE,支持 Android 开发插件 ADT(Android Development Tools)。 - **安装 Eclipse**:在...

    大数据开发资源.docx

    - **学习途径**:建议使用在线教程(如菜鸟教程)进行入门学习。 **1.2 SQL基础** - **学习目标**:熟悉SQL语法,能够熟练地进行数据查询和简单的数据分析。 - **学习途径**:同样可以通过在线教程或书籍进行学习...

Global site tag (gtag.js) - Google Analytics