【Java基础05】类和方法

【Java基础05】类和方法

1、类

public class Test {
    public static void main(String[] args) {
        
    }
}

class OtherClass{
    
}

如上述代码,定义了两个类,只能有一个类使用public修饰,且这个类的名字需要和文件名相同。

在之前讲到的Scanner类也是一个类,通过这个类可以调用它的next()方法。

2、方法

方法是定义在类中的,是语句的集合。

比如之前使用的输出语句:System.out.println(),System是一个类,out是类中的对象,println()是这个对象类的一个方法。

方法的定义结构:

修饰符 返回值类型 方法名(参数类型 参数名){
    方法内容
    return 返回值;
}
  • 修饰符:访问权限。public是对所有类都可访问;protected是对同一包内的类和子类可见;private是同一类内可见;
  • 返回值类型:return 之后的返回值的类型;
public class test{
    public static void main(String[] args){
        Student s1 = new Student(); //创建一个Student对象,不加入参数
        //输出"这是什么参数都没有的构造方法",可以发现创建对象的时候自动调用了没有参数的构造方法
        System.out.println(s1.name); //s1.name是获取s1这个对象里name变量的值
        //输出null,因为这个对象的变量name没有值
        Student s2 = new Student("小明",15); //创建新的对象,并加入参数
        System.out.println(s2.name);
        //这个时候可以发现输出了小明,因为创建对象的时候调用的是有参数的构造方法,构造方法有将值保存到类变量里
        s2.showName(); //对象名.方法名可以调用类里的方法
        int age = s2.getAge(); //因为这个方法的返回值是int,可以赋值给现在创建的这个变量里
        System.out.println(age);
        s2.setScore(50); //也可以通过调用方法来修改类里的变量
        System.out.println(s2.score);
        s2.score = 60; //当然在这里也可以不通过方法修改变量,如果变量前有加修饰词private就不可以
        System.out.println(s2.score);
    }
}

class Student{
    //定义一个学生类,用于创建学生对象

    String name; //学生姓名
    int age; //学生年龄
    double score; //学生成绩

    public Student(){
        //这是一个构造方法:方法名和类名相同,没有返回值和返回类型,连void都没有,创建对象的时候会自动运行
        System.out.println("这是什么参数都没有的构造方法");
    }

    public Student(String name, int age){
        //这也是一个构造方法,两个方法名字相同,但是参数不同
        //如果创建对象的时候没有填参数就会运行上面的方法,如果填了参数就会运行这个方法,这叫方法的重载
        this.name = name;
        this.age = age;
        //可以发现,上面的定义的变量和参数的名字相同了
        //类里面的变量会和对象被创建的时候一直存在,而方法里的参数和变量在方法运行结束之后都会消失
        //为了保存变量的值,就把参数的值保存到类的变量里
        //使用this就是为了区分参数和类的变量,使用this.变量名的是类的变量
    }

    public void showName(){
        System.out.println(name);
    }

    public int getAge(){
        return age;
    }

    public void setScore(double score){
        this.score = score;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值