Java基础(1)——构造方法,参数介绍

2020-03-21  本文已影响0人  让时间走12138

本节内容

1.java修饰符介绍
2.静态方法与实例方法
3.java参数的传递
4.可变参数
5.方法重载和构造方法
6.setter,getter和toString 方法

一、java修饰符介绍

1.在同一个文件里可以声明多个类,但是只能有一个public类
2.为了阅读性和更好的管理,通常只在一个文件里声明一个类。如果有多个类,通常会以内部类的形式存在(即在类里面在创建一个类)
3.属性/成员变量:记录一些数据 ,比如Card,Password等
4.如果一个类被protected修饰,表明在同一个包(package)里面,可以访问对象的这个属性,外部无法直接访问
5.public:公开的,公共的,在包的内部和外部都可以访问这个属性
6.private:私有的,只有在这个对象内部才能使用
7.属性一般在类里面是上部分,在类的外部通过 . 来访问属性

二、静态方法与实例方法(对象方法)

1.定义的区别:静态方法使用static修饰
2.意义的区别:①静态方法依附于这个类本身,比实例方法优先被加载,当这个类被加载到内存中时,这个方法就被加载了,而此时对象还不存在,所以只能用这个类来调用静态方法。
②对象方法依附于对象,必须创建这个类的一个对象,用对象来调用
3.static可以修饰变量(静态变量),方法(静态方法),内部类(静态内部类)

三、java参数的传递

java参数传递的机制是值传递,传递过去的是当前变量的一份拷贝。
如果传递的是一个基本数据类型的变量,那么通过对象的调用之后,这个变量的值不变
但如果传过去的是一个对象,那么在经过另外一个对象的调用后,该对象的值就会改变
public class Person {
     public void eat(int a){
         a++;
     }
     public void test3(Car car){
      car.WheerCount=4;
     }
}
public class MyClass {
    public static void main(String[] args) {
    int a=10;
    Person p=new Person();
    p.eat(a);
    System.out.println("a="+a);
       Car bz =new Car();
       bz.WheelCount=8;
       p.test3(bz);
       System.out.println("WheelCount="+bz.WheerCount);
    }
}
public class Car {
   public int WheelCount;
}
输出结果:a=10;WheelCount=4;所以很明显a的值没有变,但是bz.WheerCount的值改变了。因为bz是一个对象,它和test3里的参数car指向的是同一个地方,而car指向的值变了,所以bz指向的值也变了。

四、可变参数

可变参数即参数个数不确定,相当于用数组来接收,定义方法如下
 public  void test4(String ...args){
         for(int i=0;i<args.length;i++){
             System.out.println(args[i]);
         }
     }
调用方法如下,一般用的比较少,这里稍作了解即可
  p.test4("jack","rose","merry");

五、方法重载和构造方法

1.方法重载:同一个类里面,方法名相同,参数不同(个数或类型)。方法的重载和返回值,修饰符没有关系。
2.构造方法:如何去创建一个对象。
系统会默认提供一个没有参数的构造方法。
构造方法的特点:名字与类名相同,没有返回值
解决的问题:让代码更简洁,在数据使用时能够保证有数据
public class Car {
   public int WheelCount;
   public int engine;
   public int seat;
   public Car(int count,int C,int s){
       engine=C;
       seat=s;
       WheerCount=count;
   }
}
如果我们定义了一个对象,就不必一个一个的给它初始化了,直接使用构造方法给它赋初值。明显比 p.WheelCount=4;等简洁的多
Car c3=new Car(10,30,22);

六、setter,getter和toString 方法

1.setter/getter方法:间接访问private修饰的成员变量
this:访问当前对象的某一个成员变量
按住快捷键ALT +insert 就可以直接使用setter和getter方法,选择你要的需要这种方法的变量即可。一般都把以下这段代码放在最底下
 //set方法
    public void setName(String name){
        this.name=name;
    }
    //get方法
    public String getName(){
        return name;
    }
tips:按住ALT+insert 然后选择constructor就可以直接创建一个构造函数,选择你要传入的构造函数的参数即可。构造方法一般放在属性的后面。
public Person(String name, int money, String address) {
        this.name = name;
        this.money = money;
        this.address = address;
    }
2.toString 方法:当使用print输出一个对象时,就会去这个对象内部找toString方法
按住ALT+insert键,选择toString 方法,一般会全选所有变量,然后就会自动生成以下代码
public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", money=" + money +
                ", address='" + address + '\'' +
                '}';
    }
这样在主类里面直接输出p就不会报错
 System.out.println(p);
输出为
Person{name='jack', money=200, address='null'}
欧克,以上就是我们今天的全部内容了,疫情期间,希望大家学的开心,good拜。
上一篇 下一篇

猜你喜欢

热点阅读