(11.20)Java小知识!
经过一段时间的学习,我也终于来到了Java语言的核心篇,也就是对象与类的学习,今天想要和大家分享的是关于类的小知识点。
1.类的声明:
类可以看成创建Java对象的模板。类亦可以理解成Java一种新的数据类型,这种数据类型中封装了数据的内容和对象数据内容的操作。
类的基本定义方法如下:
[ 修饰符 ] class 类名 [ extends 父类 ] [ implements 接口名 ]
{
类成员变量声明 //类属性
类方法声明
}
1.类头部
修饰符:类的修饰符说明了类的属性,分为访问控制符、抽象类说明符和最终类说明符三种,格式如下:
[public | protected | private ] [ static ] [final | abstract]
访问控制符:public、private和protected.
抽象类说明符:abstract
最终类说明符:final
类修饰符应用示例如下:
public class Employe {...} //public级别
class Employee{...} //默认访问级别
static : 一般类是不允许声明为静态的,只有内部类(类中定义的类)才可以。
class 关键字:类的修饰符后面的class标志一个类定义的开始,类名由编程者定义。
类名:类名指的是具体创建的类的名字,赢遵循Java命名方式。
extends关键字:关键字后面为类的父类的名字,用来说明当前类是哪个已经存在类的子类,存在继承关系。
implements 关键字:关键字后面为类所实现的接口列表,用来说明当前类中实现了哪个接口定义的功能和方法。
2.成员变量的声明(类的属性)
[ 修饰符 ] 数据类型 变量名 ;
修饰符格式如下:
[public | protected | private ] [ static ] [final | abstract]
public:表示该变量可以被所有其他类引用。
private:表示该变量仅可被该类自身引用和修改,不能被其他任何类(包括子类)。
protected:表示该变量可由该类自身、子类、同一包中的其他类引用。
default:没有指定public、private、protected的情况下,表示该变量可由该类自身同一包中的其他类引用。
static:表明是类成员变量,该变量是对所有的实例对象一致,引用时前缀可使用类名或者对象名。
final:数值不变常量。定义同时应对其进行初始化。
数据类型:根据存储数据类型,可以是任何Java的有效数据类型,
变量名:定义变量必需的名字,用于标识该变量。
例如,在Employee中声明的类的属性:
private int employeeNo; //职员编号
private int employeeName; //职员姓名
3.成员方法的声明
类的方法也称为类的成员函数,用来规定类属性上的操作,实现类对外界提供的服务,也实现了类间的消息响应。方法包括:方法声明和方法体,
[ 修饰符 ] 返回值类型 方法名 (参数列表) throw 异常1{
局部变量声明;
语句序列;
}
修饰符:与类中属性的声明一致包括[public | protected | private ] [ static ] [final | abstract]等修饰符
返回值类型:是方法返回值的数据类型
方法名:方法名是动词-名字的组合,应该遵循Java命名规律
参数列表:传递给方法的一组信息,它被明确地写在方法名后面的括号内。
下面的代码显示了Employee类中方法的定义:
class Employee{
... //省略
public void setEmployeeSalary(double salary){ //设置职员的薪水
employeeSalary = salary;
}
public String toString(){ //输出职员的基本信息
String s;
s = "编号:"+employeeNo+"名字:"+employeeName+"工资:"++employeeSalart;
return s;
}
}
下面通过一个简单的类来理解Java中类的定义:
public class Dog{
public String breed;
private int age;
public String color;
public void barking(){}
public void hungry(){}
public void sleeping(){}
}
一个类可以包含一下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量会被成为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中的 方法、构造方法和特定类的语句块访问。
类成员变量:类成员变量也声明在类中,方法体之外,但必须声明为static类型。
(11.20)Java小知识!的更多相关文章
- (11.13)Java小知识!
今天想要与大家分享一下有关于构造方法的知识! 构造方法的定义与作用 构造方法是一种特殊类型的方法.当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始 ...
- (11.06)Java小知识
最近由于课程变化,学习计划也跟着改动,留给我写博客的时间也越来越少.今天晚上没有课,抽空过来图书馆写一写,许久不写感觉都有点陌生了! 今天要和大季家分享的衔接了上一篇博客,是关于方法的嵌套调用与递归调 ...
- (11.28)Java小知识!
关于继承的继承机制:继承中最常使用的两个关键字是exteds和implements.今天主要和大家分享extends的知识点.这两个关键字的使用决定了一个对象和另一个对象是否是IS-A关系.同时我们还 ...
- java小知识,驼峰规则
单词之间不以空格.连接号或者底线连结(例如不应写成:camel case.camel-case或camel_case形式).共有两种格式: 1.小驼峰式命名法(lower camel case): 第 ...
- Java小知识----POI事件模式读取Excel 2007
一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...
- Java小知识--length,length(),size()方法详细介绍
Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...
- JAVA小知识
eclipse是日蚀的意思,eclipse是IBM公司的,当年和SUN公司的java竞争,sun的意思是太阳,所以你明白了? Java的起名是 java(爪哇)咖啡,java原意是爪哇的意思,当初起名 ...
- 每天学点Java小知识【1】
一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...
- (10.23)Java小知识!
---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...
随机推荐
- Docker入门系列(一):目标和安排
Docker入门系列(一) 这个系列的教程来源于docker的官方文档,此文档的目的在于一步一步学习docker的使用方法. 这一系列的教程有如下几篇文档: docker安装启动 构建第一个docke ...
- bind、apply与call
bind.apply与call 先说观点:不论是bind.apply还是call,最大的好处就是代码复用. bind 在开发中,我们只有复用代码时,才会出现this指向需要改动的情况. 纵观bind的 ...
- python 基础大纲
机器语言: 特点:计算机能够看懂的0和1去写程序 优点:程序运行速度快 缺点:开发效率低 汇编语言: 特点:用一些英文标签代替一串而精致数字去写程序 优点:比机器语言好一点,操作系统内大量使用汇编语言 ...
- 假如时光倒流,我会这么学习Java
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...
- Windows7搭建Wamp环境
wamp:Windows + Apache + MySQL + PHP 首先,在D盘根目录下新建目录wamp,wamp下建目录www和bin,www目录作为网站文件入口目录,bin下建目录Apache ...
- ASP.NET Core 开源GitServer 实现自己的GitHub
ASP.NET Core 2.0 开源Git HTTP Server,实现类似 GitHub.GitLab. GitHub:https://github.com/linezero/GitServer ...
- maven中jetty插件配置
maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId&g ...
- 基于容器微服务的PaaS云平台设计(二)通过kubernetes实现微服务容器管理
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 上一章描述了基于spring cloud的微服务实例(实 ...
- django-rest-framework之序列化
前言:昨天学习了rest-framework序列化方面的知识,故写了博客记录一下.官网:http://www.django-rest-framework.org/tutorial/1-serializ ...
- android开发第一天
今天可以说是我正式投入android怀抱的第一天吧,按着自己的兴趣,努力地吸取知识.听了程老师的课,也觉得收获很多,毕竟以前都是看着书本或者网页教程来学习,第一次有人这么直接地跟你教授着,说着一些你听 ...