JAVA笔记【类】
java的概述和编程基础在这里我就不过多的强调了,因为已经有学习C和C++的基础了,我在这里强调一下类和对象。
[一]类的定义:
Java类的定义包括类声明和类体两个部分,其中类体又包含变量声明,方法定义两个内容。
eg.
【访问修饰符】【类型修饰符】class <类名>{
【变量声明】;
【方法定义】;
}
1.类的声明
格式中的第一条语句为类的声明语句,所用的关键字class。
【访问修饰符】:在类的声明语句中,访问修饰符一共有2种,一种是Public,一种是缺省。
那这两种访问修饰符有什么区别呢?
public:表示公有的访问级别,也就是说他的开放性较强,可以被任何类所访问,在C++中,该修饰符在类中也经常被使用。
缺省:又称“包访问修饰符”,只允许包内中的类来访问他,也就是说,相对于public来说,他的安全性高了,不是所有的类都能访问他了。
2.类体
类体由一对大括号‘{ }’,及大括号之间的内容构成,类体内容一般包含两个部分,变量声明和方法定义。
①变量声明:
【访问修饰符】【类型修饰符】<数据类型><变量名> 【=[初始值]】;
访问修饰符:public,缺省,private,protected;
类型修饰符:static,final,缺省;
实例变量:缺省;
类变量:(也称静态变量),static;
最终变量:(也成常量),final;且final常常和static一起连用!
②方法定义:
【访问修饰符】【类型修饰符】<返回值类型><方法名>(参数列表){
}
定义格式中的第一条语句就是方法声明语句,在句中,需要指定方法的访问权限,类型,是否具有返回值,以及返回值返回的数据类型,同时还要声明用于传递数据的参数列表。
成员变量和局部变量:
成员变量变量和局部变量,就是全局变量和局部变量之间的关系,在C和C++中,都曾反复的强调,着这里我就不做过多的声明了。
[二].信息的隐藏和封装:
封装性是Java的主要特性之一,它包含了两层意思:一方面是数据及其相关操作被封装到一个对象中,从而保证了对象实现细节对外的隐藏;
另一方面,封装又可以通过访问机制,使得对象内的数据私有化,不至于暴露给其他对象,从而这些私有数据的访问则可以通过建立公有的方法来
实现,从而可以避免非法操作。
【我的理解】:通过对上面封装性的介绍,举个生活中小例子吧,笔记本这种工具我们现在基本上是人手都有,不乏有些人想去拆开笔记本看看这里面长什么样式的,但是大多数的人的水平有限,拆开了就很难在安装上了,所以电脑商为了防止这类事情的发生,就将其封装成了一个小的器件,(拿CPU来说吧,有的人看完CPU可能感觉挺好就放回去了,有的人看完了呢,哎,觉得这个东西挺有意思的,我还想继续拆开看看这个CPU的里面的电子元器件是什么,这样的多度的访问在一定程度就会导致CPU的功能损坏,),我把他里面的这些元器件的组成叫做封装,也就是通过封装将敏感的数据私有化,说的直白点就是不让你将CPU打开,看里面的构造,能我能不能使用呢,当然能,如果CPU不工作了,那我们的电脑可能也就伴随着瘫痪,大家可以赶紧看看自己的电脑能不能使用了~,回到我们的JAVA中,Java又是怎么实现访问(使用)的功能呢?
Java中公有方法来访问这些私有的数据,从而保证了信息的隐藏也是程序能够被访问...
Java通过访问器和设置器来实现这种功能的;
1.访问器:
访问器是用于获取实例变量的值,书写形式一般为 get变量名();
eg.
public int getMonth(){ //访问器中访问修饰符必须是公有的 ,
return month; //访问器的返回类型必须与实例变量的类恶一致;
}
2.设置器:
设置器用于设置实例变量的值,在设置的过程中可以使用一些判断语句来保证所设置的值的有效性。设置器的书写形式是 set变量名(参数);
public void setMonth(int m){ //设置器中的反问修饰符必须是公有的,且没有返回值;//实例变量必须与声明中的数据类型相一致
if(m<0 || m>12){
System.out.println(" *********** ");}
else{
month = m ; //将参数返回实例变量;
}
}
[三]方法重载
在Java中,方法的唯一标识符是方法名和参数列表。如果两个方法的方法名和参数列表完全相同,就是同一个方法。
重载分为构造方法重载和一般方法重载,在C和C++中也同样多次设及,不过多强调,
但需要注意的是:方法的返回值类型不能作为区别方法的标识,也就是说,如果仅仅是返回值不同,不能判定这两个方法是重载的关系!
【感言】:这是我第一次写博客,写的是Java基础中的类的一些知识点,如果有哪些地方写的不好,还请多包涵....
如果有兴趣的可以一起交流,蟹蟹!
JAVA笔记【类】的更多相关文章
- Java笔记—— 类与对象的几个例子
问题1 按要求编写java应用程序: 编写西游记人物类,属性有:身高,名字和武器.方法有:显示名字,显示武器. 在main方法中创建两个对象.猪八戒和孙悟空,并分别为他们的两个属性名字和武器赋值,最后 ...
- java笔记 -- 类与对象
封装: 从形式上看, 封装是将数据和行为组合在一个包中, 并对对象的使用者隐藏了数据的实现方式. 对象中的数据称为实例域, 操纵数据的过程称为方法. 对于每个特定的类实例(对象)都有一组特定的实例域值 ...
- 菜鸡的Java笔记 类图
类图 1.如何实现类图的描述 2.时序图的使用 从实际i的开发标准:应该在项目编写钱设计类图 而现在的开发大部分情况下, ...
- JAVA笔记10-抽象类
(1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法: (2)含有抽象方法的类必须被定义为抽象类: (3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类 ...
- Java笔记---枚举类和注解
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...
- 疯狂java笔记(五) - 系统交互、System、Runtime、Date类
一.程序与用户交互(Java的入口方法-main方法): 运行Java程序时,都必须提供一个main方法入口:public static void main(String[] args){} publ ...
- (转)《深入理解java虚拟机》学习笔记5——Java Class类文件结构
Java语言从诞生之时就宣称一次编写,到处运行的跨平台特性,其实现原理是源码文件并没有直接编译成机器指令,而是编译成Java虚拟机可以识别和运行的字节码文件(Class类文件,*.class),字节码 ...
- Java笔记(十二)……类中各部分加载顺序及存放位置问题
什么时候会加载类 使用到类中的内容时加载,三种情况: 创建对象:new StaticDemo(); 使用类中的静态成员:StaticCode.num = 9; StaticCode.getNum() ...
- 《Java编程思想》读书笔记-类与对象
欢迎各位读者关注我的微信公众号,共同探讨Java相关技术.生命不止,学习不休! 也许你慢慢地对程序有了这样的认识:程序只是一些列带有方法的对象的组合,这些方法以其它对象为参数,可在任何地方返回,并发送 ...
- Java常用类学习笔记总结
Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...
随机推荐
- samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)
硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...
- Oracle 学习笔记二
一.oracle通用函数vnl(a,b) 用于任何类型,如果a的值不为null返回a的值否则返回b的值 条件判断oracle中可以使用 case 字段 when 条件1 then 表达式1 when ...
- 个人永久性免费-Excel催化剂功能第70波-工作薄外部链接维护管理
Excel在数据领域万物互联的特性,其中一个使用场景是连接非本工作薄的外部性文件内容,如其他Excel工作薄文件里的内容或直接用OLE对象的方式嵌入一个文件链接,使其在不离开Excel环境,也可提供类 ...
- TensorFlow笔记-初识
深度学习: 转换编程的思维(和传统的机器学习的编程方式不太一样) 测试链接 TensorFlow的安装 CPU版本: 只支持程序在CPU上计算/运算,默认运行就是CPU上运行 卸载: pip unin ...
- C#多线程学习之如何操纵一个线程
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可.(线程入口使程序知道该让这个线程干什么事) 在C#中,线程入口是通过ThreadStart代理(delegate)来提 ...
- Java中注释的使用
Java 中注释有三种类型:单行注释.多行注释.文档注释 我们可以通过 javadoc 命令从文档注释(/**aa*/)中提取内容,生成程序的 API 帮助文档. 打开首页,查看下生成的 API 文档 ...
- laravel 5.6初学笔记
laravel 5.6初学笔记 http://note.youdao.com/noteshare?id=bf4b701b49dd035564e7145ba2d978b4 框架简介 laravel文档齐 ...
- Linux设备驱动程序学习----1.设备驱动程序简介
设备驱动程序简介 更多内容请参考Linux设备驱动程序学习----目录 1. 简介 Linux系统的优点是,系统内部实现细节对所有人都是公开的.Linux内核由大量复杂的代码组成,设备驱动程序可以 ...
- markdown表情
Emoji表情 将对应emoji表情的符号码复制后输入你的markdown文本即可显示emoji表情. 如:blush:,显示为
- LeetCode 解题目录
0001. 两数之和(Java) 0003. 无重复字符的最长子串(Java) 0172. 阶乘后的零 (Java) 0287. 寻找重复数(Java)