经过一段时间的学习,我也终于来到了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小知识!的更多相关文章

  1. (11.13)Java小知识!

    今天想要与大家分享一下有关于构造方法的知识! 构造方法的定义与作用 构造方法是一种特殊类型的方法.当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始 ...

  2. (11.06)Java小知识

    最近由于课程变化,学习计划也跟着改动,留给我写博客的时间也越来越少.今天晚上没有课,抽空过来图书馆写一写,许久不写感觉都有点陌生了! 今天要和大季家分享的衔接了上一篇博客,是关于方法的嵌套调用与递归调 ...

  3. (11.28)Java小知识!

    关于继承的继承机制:继承中最常使用的两个关键字是exteds和implements.今天主要和大家分享extends的知识点.这两个关键字的使用决定了一个对象和另一个对象是否是IS-A关系.同时我们还 ...

  4. java小知识,驼峰规则

    单词之间不以空格.连接号或者底线连结(例如不应写成:camel case.camel-case或camel_case形式).共有两种格式: 1.小驼峰式命名法(lower camel case): 第 ...

  5. Java小知识----POI事件模式读取Excel 2007

    一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...

  6. Java小知识--length,length(),size()方法详细介绍

    Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...

  7. JAVA小知识

    eclipse是日蚀的意思,eclipse是IBM公司的,当年和SUN公司的java竞争,sun的意思是太阳,所以你明白了? Java的起名是 java(爪哇)咖啡,java原意是爪哇的意思,当初起名 ...

  8. 每天学点Java小知识【1】

    一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...

  9. (10.23)Java小知识!

    ---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...

随机推荐

  1. 分页查询不知你是否真正的懂和PHP的正则的应用和一些性能优化

    一.不废话太多  直接进入例子. 1  问题: 有一张收藏表,里面存储的是用户和图书ID.数据量为1亿.现在要求分页获取所有用户ID(不重复),写下你的sql语句.   表结构大致如下:       ...

  2. IsKeyboardFocused -- 键盘焦点

    <Trigger Property="IsKeyboardFocused" Value="true"> <!--<Setter Prop ...

  3. Activiti 用户任务关联自定义表单

    问题阐述 通常每一个"用户任务"都会对应一个表单,以供用户录入信息.尤其是在"流程定义"拥有多个版本的情形下,明确的指定表单显得极其重要. 一份新版本的&quo ...

  4. python批量修改word文件名

    最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完毕的文件的文件名全丢了,所有的文件只有代号,如下面 ...

  5. 压缩感知“Hello World”代码初步学习

    压缩感知代码初学 实现:1-D信号压缩传感的实现 算法:正交匹配追踪法OMP(Orthogonal Matching Pursuit)   >几个初学问题   1. 原始信号f是什么?我采集的是 ...

  6. RT5350 OpenWrt 系统移植jsoncpp

    下载Json包: 下载地址:http://sourceforge.net/projects/jsoncpp/ 如:jsoncpp-src-0.5.0.tar.gz 交叉编译: 1.解压jsoncpp- ...

  7. mysql的读写分离

    1.laravel实现数据库读写分离配置或者多读写分离配置 config\database.php里配置 'connections' => array(      //默认mysql配置,访问t ...

  8. ASP.NET Core 网站发布到Linux服务器(转)

    出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...

  9. (转)java的动态代理机制详解

    原文出自:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html 在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一 ...

  10. JS难点--组件开发

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } span.Apple-tab-span ...