今天也要好好学Java!!
面向对象(Object Oriented Programing)
面向过程是一种“执行者思维”,解决简单问题可以使用面向过程
面向对象是一种“设计者思维”,解决复杂、需要协作的问题可以使用面向对象。
属性:属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化
属性定义格式:
[修饰符] 属性类型 属性名 = [默认值];
方法:方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
[修饰符] 方法返回值类型 方法名(形参列表){
//语句
}
package oop;
/*
* 一个学生类
*/
public class SxtStu {
int id;
int age;
String sname;
public void study() {
System.out.println("学习");
}
public void kickball() {
System.out.println("踢球");
}
public static void main(String[] args) {
SxtStu s1 = new SxtStu();
System.out.println(s1.age);
System.out.println(s1.id);
System.out.println(s1.sname);
s1.id = 1001;
s1.sname = "wyh";
s1.age=105;
System.out.println(s1.age);
System.out.println(s1.id);
System.out.println(s1.sname);
s1.study();
}
}
运行结果:
构造方法(构造器 constructor)
构造器用于对象的初始化,而不是创建对象;
创建对象的四步:
- 分配对象空间,并将对象成员变量初始化为0或为空
- 执行属性值的显示初始化
- 执行构造方法
- 返回对象的地址给相关的变量
声明格式:
[修饰符] 类名(形参列表){
//语句
}
构造器的四个要点:
- 构造器通过new关键字调用
- 构造器虽然有返回值,但不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
- 如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法,如果已定则编译器不会自动添加
- 构造器的方法名必须和类名一致
package oop; /* * 定义一个点(point)类用来表示二维空间中的点(有两个坐标)。要求如下: * (1)可以生成具有特定坐标的点对象; * (2)提供可以计算该点距另一点的距离的方法 */ public class Point { double x,y; Point(double x,double y){ this.x = x; this.y = y; } public double getDistance(Point p) { return Math.sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); } public static void main(String[] args) { Point p1 = new Point(3.0, 4.0); Point p2 = new Point(0, 0); System.out.println(p1.getDistance(p2)); } }
运行结果: