Java入门3

面向对象1

面向对象,更在乎的结果,而过程的实现并不重要

IDea快捷键(基础版)

快捷键 作用
ctrl + / 快捷注释
ctrl + shift + / 多行注释
ctrl + d 快速复制
ctrl + shift + up/down 移动代码行数
ctrl + z 撤回
ctrl + o 快速重写父类函数
ctrl + alt + l 自动格式化代码

⭐printf 格式化传参(输出)

参数 对应数据类型
%d 整型
%f 浮点型
%s 字符串
%b 布尔型
%c 字符型
%n 换行
// pringln 字符串拼接输出
System.out.println("My name is " + this.name + "!");
// printf 格式化传参输出
System.out.printf("My name is %s!",this.name);

println 和 print 区别

println 可以自动换行,但是 print 不行,使用方法同 println 需要使用 + 进行字符串拼接

类(构造方法)

定义:对某些事物共性的抽取

// 定义Student类
// package com.iweb.demo02;
public class Student {
    // 成员变量
    public int sno;
    public String name;
    public Float height;
    public char gender;
    public boolean inSingle;
    // 重写构造方法
    public Student(int sno, String name, Float height, char gender, boolean inSingle) {
        this.sno = sno;
        this.name = name;
        this.height = height;
        this.gender = gender;
        this.inSingle = inSingle;
    }
    // 成员方法
    public void eat(){
        System.out.println("Student => eat()");
    }
    // 重载eat方法
    public void eat(String tmp){
        System.out.println("Student => sat(tmp)");
    }
}
// 主运行类
// package com.iweb;
import com.iweb.demo02.Student; // 引用类

public class Application {
    public static void main(String[] args) {
        Student student = new Student(1001,"robot01",185f,'男',true); // 实例化对象
        // 调用成员方法
        student.eat();
        student.eat("food01");
    }
}

在类里定义引用型变量

// 定义Person类
// package com.iweb.demo02;
public class Person {
    public String name;
    public String[] hobbies= {"123","123"};
    public Dog dog;
    public void display(){
        System.out.print(this.name + " hobbies: ");
        for(String hobby:this.hobbies){
            System.out.print(hobby + " ");
        }
        System.out.println("\n My dog name is " + this.dog.name);
    }
    public void setDog(Dog dog) {
        this.dog = dog;
    }
    public void setName(String name){
        this.name = name;
    }
}
// 定义Dog类
// package com.iweb.demo02;
public class Dog {
    public String name;
    public void run(){
        System.out.println("run() => Dog");
    }

    public void setName(String name) {
        this.name = name;
    }
}
// 主运行类
// package com.iweb;
import com.iweb.demo02.Dog;
import com.iweb.demo02.Person;

public class Application {
    public static void main(String[] args) {
        Person person = new Person();
        Dog dog = new Dog();
        dog.setName("dog01");
        person.setName("robot01");
        person.setDog(dog);
        person.display();
    }
}

构造方法

无参构造

// 定义Robots类
// package com.iweb.demo02;
public class Robots {
    // 机器人姓名
    public String name;
    // 制造商
    public String manufacturer;
    // 产量
    public int yield;
    // 无参构造
    public Robots() {
        this.name = "robot01";
    }
}

有参构造

// 定义Robots类
// package com.iweb.demo02;
public class Robots {
    // 机器人姓名
    public String name;
    // 制造商
    public String manufacturer;
    // 产量
    public int yield;
    // 有参构造
    public Robots(String name, String manufacturer, int yield) {
        this.name = name;
        this.manufacturer = manufacturer;
        this.yield = yield;
    }
}

重载构造方法

让开发者选择不同的构造方法实例化对象

// 定义Robots类
// package com.iweb.demo02;
public class Robots {
    // 机器人姓名
    public String name;
    // 制造商
    public String manufacturer;
    // 产量
    public int yield;
    // 无参构造
    public Robots() {
        this.name = "robot01";
    }
    // 有参构造
    public Robots(String name, String manufacturer, int yield) {
        this.name = name;
        this.manufacturer = manufacturer;
        this.yield = yield;
    }
}
// 主运行类
// package com.iweb;
import com.iweb.demo02.Robots;
public class Application {
    public static void main(String[] args) {
        // 调用无参构造
        Robots robots = new Robots();
        // 调用有参构造
        Robots robots1 = new Robots("robot01","factory01",10);
    }
}

热门相关:超武穿梭   寂静王冠   霸皇纪   网游之逆天飞扬   薄先生,情不由己