美文网首页
Java基础(1)——构造方法,参数介绍

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

作者: 让时间走12138 | 来源:发表于2020-03-21 21:32 被阅读0次

    本节内容

    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拜。

    相关文章

      网友评论

          本文标题:Java基础(1)——构造方法,参数介绍

          本文链接:https://www.haomeiwen.com/subject/bliuyhtx.html