java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java类定义

java类的定义与使用举例详解

作者:蓝朽

这篇文章主要给大家介绍了关于java类的定义与使用的相关资料,类的方法是用来定义类的行为,在方法中通过操作类的成员变量、编写业务逻辑、返回 结果等实现类的业务行为,需要的朋友可以参考下

一、概念

二、使用

1.成员变量

对象的属性也称为成员变量,成员变量可以是任意类型,成员变量的作用域是整个类

定义一个学生类:

public class Student {
    private String name;//name属性
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

上面定义了一个name属性并写了它的get和set方法。

2.成员方法

在刚才例子中的成员方法就是setName和getName,一个是设置名字一个是获取名字的方法。成员方法中可以设置任何类型的参数,也可以在成员方法中调用其他成员方法。

上面的this指的是自己,意思就是调用自己内部的属性或者方法。

3.权限修饰符

public,private,default,protected是java的四大修饰符,下面分别主要介绍四者之间的区别:

修饰符本类同一个包的类其他包的类
public可访问可访问可访问
private可访问不可访问不可访问
protected可访问可访问不可访问

4.静态方法

定义了静态方法就可以直接用对象.方法来直接调用,就不需要先创建对象再调用方法了,静态变量和静态方法通常是为了提供共享数据或方法,如下:

public class test {
    public static void main(String[] args) {
        System.out.println(Student.name);//使用 对象.属性 调用
        Student.method();//使用 对象.方法 调用
    }
}
class Student {
    static String name="王五";
    public static void method(){
        System.out.println("这是一个静态方法");
    }
}

以上代码定义了一个静态属性和静态方法,通过Student.属性或者Student.方法来调用,就不需要先new对象再调用了

三、重写toString方法

其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是:使用文字描述这个对象里各个变量是什么值 ,这个变量是什么类型的变量等 ,并且任何类都从Object继承了这个方法,你不重写toString()方法的话输出的就是一个内存地址,也就是哈希码值。并不是输出这个类的各个变量的值,记得不重写好像只打印对象的类型而已。
返回的是 getClass().getName() + “@” +Integer.toHexString(hashCode());
也就是 类名 + @ +hashCode的值

比如下面的例子:

public class test {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setName("zhangsan");
        stu.setAge(18);
        System.out.println(stu);
    }
}
class Student {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void setName(String name) {
        this.name = name;
    }
}

输出:

上面就是没有重写tostring方法打印出来的东西,是什么我们也看不懂,只知道它是个对象的地址,不利于我们观看

下面是重写了toString方法的:

public class test {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setName("zhangsan");
        stu.setAge(18);
        System.out.println(stu);
    }
}
class Student {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String toString() {//重写方法
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

输出结果:

这个结果就看起来很舒服,我们就能看到刚才自己传的有哪些值。

注:打印一个对象,可以直接System.out.println(stu)其实println方法内部会自动调用stu 的 toString() 方法。

总结

到此这篇关于java类的定义与使用的文章就介绍到这了,更多相关java类定义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文