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 ...
随机推荐
- 个人永久性免费-Excel催化剂功能第31波-数量金额分组凑数功能,财务表哥表姐最爱
在财务工作过程中,很大时候需要使用到凑数的需求,花了两三天时间认真研究了一下,本人水平也只能做代码搬运工,在用户体验上作了一下完善.完成了Excel版的凑数功能. 文章出处说明 原文在简书上发表,再同 ...
- 随机点名可视化界面,记录迟到人员,转exe文件
随机点名可视化界面,记录迟到人员,转exe文件 一.介绍 对于人员采取随机点名 二.代码 import datetime import random from tkinter import * fro ...
- Android学习总结之开发工具AndroidStudio的安装与配置
安装AndroidStudio 首先下载AndroidStudio的安装包,直接在百度AndroidStudio下载即可,安装过程简单,只需要修改安装路径(不要有空格和中文即可).然后下一步下一步就可 ...
- 微信小程序踩坑日记2——实时访问数据库并渲染UI
0. 引言 主要讲讲对于实时访问数据库并渲染UI我的解决方法. 一开始查到了随让小程序是单线程的,但是有一个基本上是封装的worker线程,相当于可以自己自定义(类似于Android开发里的handl ...
- liunx基本操作操作与文件和目录的管理
一.基本操作 Tab键: 自动补全ctrl + u: 清空至行首ctrl + k: 清空至行尾 ctrl + l: 清屏 ctrl + c: 取消本次命令编辑重启:rebootsystemctl re ...
- 使用jquery删除链接所在的行
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- eclipse的下载安装配置
1.在eclipse官网下载与你电脑版本相对应的安装包.链接:https://www.eclipse.org/downloads/eclipse-packages/ 2.下载与eclipse版本相对应 ...
- Linux基础文件打包
一.打包与解压 (一).打包压缩 [root@linux ~]# tar -czf etc1.tar.gz /etc //-z 调用gzip [root@linux ~]# tar -cjf etc2 ...
- 自己动手写Spring框架--IOC、MVC
对于一名Java开发人员,我相信没有人不知道 Spring 框架,而且也能够轻松就说出 Spring 的特性-- IOC.MVC.AOP.ORM(batis). 下面我想简单介绍一下我写的轻量级的 S ...
- 在vue-cli 3中, 给stylus、sass样式传入共享的全局变量
在开发中有时,我们定义了大量的基础样式变量,例如: 大量的vue单文件组件会用到这些变量,每个组件都引人一次又太麻烦.全局引入是个不错的方法,于是,在main.js 中引入variable.styl文 ...