- 类:我们叫做class。
- 对象:我们叫做Object,instance(实例)。两者是一样的意思。
总结
-
对象是具体的事物;类是对对象的抽象;
-
类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
-
类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。
类的定义(class)
/ / 定义学生类
public class Student {
/ / 类的属性
int id;
int age;
String name;
/ / 创建类的方法
void study() {
System.out.println("study java is a good idea,so I need study hard");
}
/ / 创建main 主要的程序入口
public static void main (String []args) {
/ /创建学生类的对象
Student stu = new Student();
/ / 调用方法
stu.study();
}
}
构造方法
- 概念
构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
- 格式
修饰词 类名 (形参列表){
+语句
}
例如
public Point( x,y){
}
-
注意点
-
通过new关键字调用!!
-
构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
-
如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!
-
构造器的方法名必须和类名一致!
- 案例
// 新建一个类
class Point{
double x,y;
// 构造方法 重写
public Point(double _x,double _y) {
x = _x;
y =_y;
}
/**
* 创建一个方法计算点与点之间的距离 等于 x-x的平方加y-y的平方
* @param p 形参传入的点
* @return 返回距离
*/
public double getDistance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
}
}
public class Constructor {
public static void main(String []args) {
// 新建一个点的对象
Point p = new Point(3.0,4.0);
// 新建一个原点对象
Point origin = new Point(0.0,0.0);
// 获取离原点的距离
System.out.println(p.getDistance(origin));
}
}
构造方法的重载
public class User {
int id;
String name; // 用户名
String pwd; // 密码
// 构造方法
public User() {
}
// 构造方法知道ID 和name
public User(int id, String name) {
this.id = id;
this.name = name;
}
// 知道ID name pwd 的构造方法
public User(int id,String name,String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public static void main(String []args) {
User u1 = new User();
User u2 = new User(999,"puska");
User u3 = new User(999,"puska","123456789");
}
}
网友评论