Java 类和构造方法

2018-12-30  本文已影响0人  超级皮波9

总结

  1. 对象是具体的事物;类是对对象的抽象;

  2. 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

  3. 类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。


类的定义(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){

}

  1. 通过new关键字调用!!

  2. 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。

  3. 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加!

  4. 构造器的方法名必须和类名一致!


// 新建一个类
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");
    }
}
上一篇 下一篇

猜你喜欢

热点阅读