一、类的声明
类在使用前,必须先声明,然后才可以声明变量,创建对象。
类的声明语法如下:
[标识符] class 类名{
//类的属性
//类的方法
}
类名称遵循标识符命名规则与规范,这里不做详细讲解,有兴趣的可以去看看https://blog.youkuaiyun.com/MillionSong/article/details/104601811(Java命名规则和规范)。
在上面的语法格式中,[标识符] 可以是public、private、protected或者完全省略这个修饰符。
Java提供了一系列的访问控制符来设置基于类(class)、变量(variable)、方法(method)及构造方法(constructor)等不同等级的访问权限。
Java中有四种访问权限,private、default(一般省略)、public、protected。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。
protected: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。
这里需要注意的是,所谓的访问,可以分为两种不同方式:第一,通过对象实例访问;第二,直接访问。
二、类的定义
在声明一个类后,还需要对类进行定义。
构造方法、属性和方法是三种最常见的成员
构造方法、属性和方法的介绍可以参考文章:https://blog.youkuaiyun.com/MillionSong/article/details/104595623
语法表示:
class 类名称
{
// 定义属性
数据类型 属性; //零到多个属性
// 定义构造函数
类名称(参数,…){ //零个到多个构造方法
}
// 定义方法
返回值的数据类型 方法名称(参数1,参数2…) //零到多个方法
{
程序语句 ;
return 表达式 ;
}
}
类中各成员之中可相互调用,但值得注意的是,static修饰的成员不能访问没有static修饰的成员。
public class Static {
private int i;
public static void fun() {
i = i + 1; // 错误,静态方法 fun() 无法访问非静态属性 i
}
}
三、类的使用
使用格式:类名/数据类型 变量名=new 类名();
访问对象中的成员: 变量名 . 成员
示例如下:
class Test01{
public static void main(String[] args){
Point p1=new Point();//声明并实例化
p1.x=10;
p1.y=20;
System.out.println(p1.getDistance(p2));
}
}
class Point{//定义Point类
double x;
double y;//属性
public double getDistance(Point other){//方法
return Math.hypot(x-other.x,y-other.y);
}
}