JAVA面向对象之方法


JAVA面向对象—方法
本文参考内容: 牛客网,此内容仅为本人的学习知识总结。

再谈方法的参数

基本类型参数

引用类型参数

实例:
Driver.java:

package nowcoder3.part03;

public class Driver {
    public void earn(double money){
        money /= 2;
        System.out.println("收入:"+money+"元!");
    }
    public  void refit(Car car){
        car.color="蓝色";
    }
}

Car.java:

package nowcoder3.part03;

public class Car {

    String color;

}

Game:java:

package nowcoder3.part03;

import nowcoder3.part03.Driver;

public class Game {
    public static void main(String[] args) {
        Driver d= new Driver();

        double money = 8000.0;
        d.earn(money);
        System.out.println("发放:"+money+"元!");

        Car c = new Car();
        c.color ="红色";
        d.refit(c);
        System.out.println("颜色:"+c.color);
    }
    
}

运行结果:
在这里插入图片描述

再谈方法的返回值

查看运行过程可通过如下方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
若是需要查看return值,如下:
在这里插入图片描述

构造方法

什么是构造方法

new关键字后面调用的方法就是构造方法,也叫构造器;
构造方法用于创建对象,也可以用于初始化对象中的成员变量;

默认的构造方法

若没有显示的给一个类定义构造方法,
则编译时编译器会为该类添加一个默认的构造方法。(没有参数)

如何定义构造方法

语法:修饰符 方法名(参数列表){…}
注意:
1.方法名必须与类名相同;
2.构造方法不能有返回值;
3.当显示定义构造方法时,编译器将不再生成默认的构造方法。

默认构造方法无参数,所以使用时会每一个对象.成员变量;
当你定义一个有参数的构造函数,创建对象时也需要输入参数;

实列:
Truck.java:

package nowcoder3.part04;

public class Truck {
    String brand;
    String color;
    int capacity;//容量

    //默认构造方法  这是没有参数的
//    public Truck(){
//    }

    //定义的有参数的构造方法
    public Truck(String b,String c,int p){
        brand = b;
        color = c;
        capacity = p;
    }

    public void run(){
        System.out.println(color+brand+"载重"+capacity+"吨!");
    }
}

Game.java:

package nowcoder3.part04;
/*
* 构造方法
* */
public class Game {
    public static void main(String[] args) {
        Truck t1 = new Truck("宝马","黑色",666);
        t1.run();

        Truck t2 = new Truck("大奔","绿色",999);
        t2.run();
    }
}

注意区分与之前的代码的不同之处!!!
运行结果:
在这里插入图片描述
也可以是无参数的构造器,在方法中初始化成员变量: 如图:

package nowcoder3.part04;

public class Car {

    long engineNo;

    public void Car(){
        //生成发动机编号,这个编号是时间毫秒数
        //这个时间是1970年1月1日到目前为止的时间毫秒数
        engineNo = System.currentTimeMillis();
    }

    public void getTime(){
        System.out.println("发动机编号:"+engineNo);
    }
}

成员方法的重载

实例:
Bus.java:

package nowcoder3.part05;

public class Bus {

    public void run(){
        System.out.println("公交车慢慢的跑");
    }
}

Truck.java:

package nowcoder3.part05;

public class Truck {

    public void run(){
        System.out.println("大卡车呼呼的跑");
    }
}

Driver.java:

package nowcoder3.part05;

public class Driver {

    //成员方法的重载:方法名相同,参数列表不同
    void drive(Bus bus){
        bus.run();
    }
    void drive(Truck truck){
        truck.run();
    }
}

Game.java:

package nowcoder3.part05;
/*
* 成员方法的重载
* */
public class Game {
    public static void main(String[] args) {
        Driver d= new Driver();

        Bus b1 = new Bus();
        d.drive(b1);

        Truck t1 = new Truck();
        d.drive(t1);
    }
}

运行结果:
在这里插入图片描述

构造方法重载

实例:

Car.java:

package nowcoder3.part06;

public class Car {
     String brand;
     String color;
     int maxSpeed;

     //构造方法的重载
     public Car(String b){
         brand = b;
     }

     public Car(String b,int s){
         brand = b;
         maxSpeed = s;
     }

     public Car(String b,String c,int s){
         brand = b;
         color = c;
         maxSpeed = s;
     }

     void run(){
         System.out.println("品牌:"+brand);
         System.out.println("颜色:"+color);
         System.out.println("时速:"+maxSpeed);
     }
}

Came.java:

package nowcoder3.part06;
/*
* 构造方法的重载
* */
public class Game {
    public static void main(String[] args) {

        Car c1 =new Car("宝马");
        c1.run();

        Car c2 =new Car("宝马",666);
        c2.run();

        Car c3 =new Car("宝马","黑色",666);
        c3.run();
    }
}

运行结果:
在这里插入图片描述

总结

  1. 静态方法
  2. 成员方法
  3. 构造方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值