JAVA中的类
来源:互联网 发布:iphone屏幕检测软件 编辑:程序博客网 时间:2024/06/10 22:11
JAVA中,类是程序构成的基本要素.在JAVA平台中,可以认为程序都是类组成的.
1.类的声明
1-1.最基本最简单的类的声明形式:
class 类名{
//属性、构造函数和方法声明
}
[注:]
1).class关键字是必需的;
2).类名的命名规则:第一个字母要大写,后面每个单词的首字母也要大写.例如:
class AutoCar{
//属性、构造函数和方法声明
}
1-2.有访问权限的类的声明形式:
[类修饰符] class 类名{
//属性、构造函数和方法声明
}
可以作类修饰符的关键字如下:
public:表示此类可以被JAVA所有软件包使用;
private:
abstract:
final:
strictft:
1-3.表明此类其父类信息的声明形式:
[类修饰符] class 类名 [extends 父类名称]{
//属性、构造函数和方法声明
}
关键字extends来表明该类是从哪个类派生过来的.
1-4.实现接口的类的声明形式:
[类修饰符] class 类名 [extends 父类名称] [implements 接口名称]{
//属性、构造函数和方法声明
}
1-5:注意事项:
1).同一个JAVA源文件中可以有多个类,但是不能包含两个或两个以上的带有public修饰词的类;
2).如果上JAVA源文件中某个类前面有public修饰词时,那么含有此类的源文件必须与此类的类名相同.
2.类体
类的主体简称类体,指的是类名后面大括号的内容.
2-2.类体的内容之成员变量:
类体的内容中的成员变量包括:字段、局部变量、参数等.
1).字段:
是指类中的成员变量.如下:
public class AutoClass{
private String brand;
private float exhaust;
private int speed;
}
其中,brand、exhaust和speed都是类AutoCar的"字段".
字段的声明由三部分组成:
[修饰符] 数据类型 变量名称;
2).局部变量
类方法中的变量.JAVA平台的方法理解成C中的函数即可.
3).参数
类方法中的参数.其意义和C中的函数参数一样.
2-3.类体内容之成员方法
JAVA平台的类成员方法和C函数意义一样.
1).JAVA平台类体的成员方法声明形式如下:
[方法修饰符] 返回类型 方法名称(方法的参数列表){
//方法体语句
}
和C语言函数声明形式唯一不同的是JAVA平台的成员方法最前面多了个"[方法修饰符]".这里是指public、private等,对此类中的成员方法的访问权限.
2).方法签名:
签名是JAVA平台区实现方法重载的标准.如下:
public int getMaxValue(int value1,int value2){
//Your Code.
}
此方法的签名为:
getMaxValue(int,int)
签名分成:方法名、参数类型、参数个数三部分.JAVA语言依据此来区分应该选用哪个方法来重载.
3).类体方法的调用.
JAVA平台类的调用形式和C中结构体(struct)引用很相仿.如下面示例:
public class PassMessageDemo{public static void main(String[] args){Hello hello = new Hello( );//声明一个Hello类的实例对象hello.sayHello( );//调用对象hello的sayHello方法hello.sayHello( );//调用对象hello的sayHello方法 hello.sayHello( );//调用对象hello的sayHello方法}}class Hello{//定义一个表示问候的成员方法void sayHello( ){System.out.println("Hello,good morning!");}}
4).类体方法实现类"字段"的访问接口
有时候在一个类里面的"字段"被private修饰符修饰的时候,只能在类内部本身可访问,不能被外部类去访问.这时候我们可以实现一个外部类可访问的类方法(public)来实现对类内部私有字段的间接访问.如下面示例:
public class AutoCar{private String brand;//表示汽车的品牌private float exhaust;//表示汽车的排汽量private int speed;//表示汽车的速度//获得属性brand的值public String getBrand(){return brand;}//获得属性exhaust的值public float getExhaust(){return exhaust;}//获得属性speed的值public int getSpeed(){return speed;}//设置属性speed的值public void setSpeed(int newSpeed){speed = newSpeed;}}
5).方法重载
假设有这样一种情况:我们要做一个类来绘制各种类型的数据(字符串、整数等),如果为每一个方法都起一个名字是很麻烦的.如:
drawString()、drawInteger()、drawFloat()等.我们可以只实现几个名字均为draw()的方法,通过给这个方法传递不同的参数类型,交由编译
器来处理.如下:
public class DrawDate{ public void draw(String s){ ... } public void draw(int i){ ... } public void draw(int i,double f){ ... }}
3.类的构造器
JAVA平台下构造器的意义是构造并初始化实例对象.它有以下特点:
1).构造器和类名一样;
2).构造器和方法一样,可以有0个、1个或多个参数;
3).构造器没有反回值和返回类型;
4).构造器不能被显式调用.构造器总是和new运算符一起被调用,在创建一个类的对象的同时,系统会自动调用该类的构造器为新对象初始化.
下面给出一个示例:
class AutoCar{ private String brand; private float exhaust; private int speed; public AutoCar(String oriBrand,float oriExhaust,int oriSpeed) { brand = oriBrand; exhaust = oriExhaust; speed = oriSpeed; } public void autoCarInfo() { System.out.println("brand = " + brand ); System.out.println("exhaust = " + exhaust); System.out.println("speed = " + speed); }}public class ReloadDemo{ public static void main(String[] args){ AutoCar autoCar = new AutoCar("Audi",1.5f,80); autoCar.autoCarInfo(); }}输出结果:
root@seven-laptop:~/learn/java/java_base/test# java ReloadDemobrand = Audiexhaust = 1.5speed = 80root@seven-laptop:~/learn/java/java_base/test# vim ReloadDemo.java
4.向方法或构造器内传递信息
当向一个对象传递消息时,只能通过此对象暴露出来的手段进行交互(如方法、接口等).向方法和构造器传递参数和C中的函数调用差不多.不再累赘.
- 【java】:java中的StringBuffer类
- 【Java】Java中的集合类
- Java中的Collection类
- Java中的Random类
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- 谈谈Java中的类
- JAVA中的集合类
- JAVA中的类反射
- JAVA中的集合类
- 关于JAVA中的类
- JAVA中的集合类 - -
- JAVA中的类
- JAVA中的集合类
- Java中的Collection类
- Java中的Collection类
- java中的抽象类
- 说话的艺术
- Java Collections Framework(4) Set
- AS3的super()方法
- 今天遇到一个问题,将fedora磁盘扩展空间后,启动不成功
- 树莓派实验六: uC/OS 2
- JAVA中的类
- linux kernel map
- SAP HANA是什么
- cocos2d 图片边缘有黑线和移动拼接图时有锯齿的处理方法
- at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:576)
- 网站搜集
- heap-sort-源码-堆排序
- UITextView中实现placeholder的方法
- Android实现推送方式解决方案