Java中的类详解
来源:互联网 发布:知乎城市冷漠 编辑:程序博客网 时间:2024/06/07 20:22
类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。
类的实现
类的实现包括两部分:类声明和类体。基本格式为:
class 类名 {
类体的内容
}
class是关键字,用来定义类。“class类名”是类的声明部分,类名必须是合法的Java标识符。两个大括号以及之间的内容是类体。
类声明
class Vehicle {
……
}
其中的“class Vehicle”称作类声明;“Vehicle”是类名。
给类命名时,遵守下列编程风格(这不是语法要求的,但应当遵守):
1.如果类名使用拉丁字母,那么名字的首字母使用大写字母,如。
2.类名最好容易识别、见名知意。当类名由几个“单词”复合而成时,每个单词的首字母使用大写。
类体
类声明之后的一对大括号“{”,“}”以及它们之间的内容称作类体,大括号之间的内容称作类体的内容。类体的内容由两部分构:一部分是变量的声明,用来刻画属性;另一部分是方法的定义,用来刻画功能。
成员变量
类体分为两部分:一部分是变量的声明,另一部分是方法的定义。
变量的声明
变量声明部分所声明的变量被称做域变量或成员变量
1.成员变量的类型:成员变量的类型可以是Java中的任何一种数据类型,包括基本类型:整型、浮点型、字符型;引用类型:数组、对象和接口。
2.成员变量的有效范围:成员变量在整个类内都有效,其有效性与它在类体中书写的先后位置无关。
3.编程风格
(1)一行只声明一个变量。
(2)变量的名字符合标识符规定。
(3)变量名字见名知意,避免容易混淆的变量名字。
新建一个Demo14
public class Person { //创建了一个person类,赋予了它一些属性和变量
int age;
float height = 1.8f;
double weight = 160;
}
方法的定义
方法的定义包括两部分:方法声明和方法体。一般格式为:
方法声明部分 {
方法体的内容
}
void speedUp(int s) { //方法定义,刻画加速功能void代表这个方法无返回值,()代表传递的参数 这是方法声明部分
int a; //方法体中声明的a只能在这个方法中使用
speed=speed+s;
This.a //中间这是方法体
}
void speedDown(int d) { //方法定义,刻画减速功能
speed=speed-d;
}
void setPower(int p) {
power=p;
}
int getPower() { //返回int类型
return power;
}
double getSpeed() { //返回double类型
return speed;
}
}
1)方法声明
方法声明包括方法名和方法的返回类型,如:
double getSpeed() {
return speed;
}
注:方法的返回类型、方法的参数、方法的名字
1、return语句的作用:
a、返回一个值,这个值可以是任意类型。
b、使程序返回到操作系统(即终止程序)
2、java中对于一个函数,不论有没有返回值类型,都可以带有return语句。但是区别在于,return语句是否可以返回一个值(这取决与该函数的返回值类型)。
a、如果函数有返回值类型(即返回值类型不为void),则必须带有返回相应类型值的return语句。
b、如果函数没有返回值(即返回值类型为void),则函数中return语句(如果存在return语句!)的后面不能加任何的变量。(该情况下的函数中也可以没有return语句,但是如果有的话,return只能作为返回操作系统的作用使用。)
2)方法体
方法声明之后的一对大括号“{”,“}”以及之间的内容称作方法的方法体。方法体的内容包括局部变量的声明和Java语句。
在方法体中声明的变量和方法的参数被称作局部变量。
局部变量只在声明它的方法内有效,而且与其声明的位置有关。方法的参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。如果局部变量的声明是在一个复合语句中,那么该局部变量的有效范围是该复合语。
没有返回值的方法的创建
public class Person {
int age;
float height = 1.8f;
double weight = 160;
void eat(){
System.out.println("eat");
}
void sleep(){
System.out.println("sleep");
}
}
有返回值的方法的创建
public class Person {
int eatCount(){
return 2; //直接返回2
}
}
有返回值并且带参数的方法
public class Person {
int eatCount2(int num){
int result = num-2;
return result;
}
}
注意事项
1、如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。
如果想在该方法中使用被隐藏的成员变量,必须使用关键字this
2、类体的内容由两部分构成:一部分是变量的声明,另一部分是方法的定义。 对成员变量的操作只能放在方法中,方法可以对成员变量和该方法体中声明的局部变量进行操作。在声明成员变量时可以同时赋予初值,但是不可以在类体中有单独的赋值语句(不可以有变量的声明和方法的定义以外的其它语句)
public class Person {
int getAge(int age){ //调用这个方法的人往里面传入了一个参数,并且和这个方法同名
return this.age; //重名时成员变量被隐藏,如果想使用被隐藏的成员变量,必须使用关键字this
}
}
原文链接:http://www.maiziedu.com/wiki/java/class/
- Java中的类详解
- Java中的Scanner类详解
- Java中的string类详解
- Java中的抽象类详解
- Java中的容器类详解
- java中的集合类详解
- Java中的StringBuilder类功能详解
- 详解Java 中的类加载机制
- java中的String类常量池详解
- Java中的StringBuilder类功能详解
- java中的String类常量池详解
- Java中的StringBuilder类功能详解
- Java中的StringBuilder类功能详解
- Java中的StringBuilder类功能详解
- Java中的System类使用详解
- Java中的StringBuilder类功能详解
- Java中的StringBuilder类功能详解
- Java中的StringBuilder类功能详解
- Spring MVC 向页面传值-Map、Model和ModelMap
- vilidate 验证示例
- 浅克隆和深克隆
- javascript 字符串对象方法
- 解析友盟错误分析
- Java中的类详解
- Java 实现导出excel表 POI
- APP后端数据接口注意事项
- 类型转换错误java.math.BigDecimal cannot be cast to java.lang.String
- vertex cover problem with dynamic programming
- jenkins远程部署使用shell脚本进行备份
- c中的inf和nan
- linq 判断时间出错
- cygwin 上编译和安装redis