iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java类的定义
  • 420
分享到

java类的定义

java开发语言jvm 2023-10-23 21:10:51 420人浏览 八月长安
摘要

目录 一、概念二、使用1.成员变量2.成员方法3.权限修饰符4.静态方法 三、重写toString方法 一、概念 我们不能将一个事物称之为一类事物,例如一只鸟我们不能称为鸟类,但是我们

目录

一、概念

  • 我们不能将一个事物称之为一类事物,例如一只鸟我们不能称为鸟类,但是我们需要给一类事物统称,例如大雁,麻雀,燕子,统称为鸟类,在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是权限最大的修饰符,他可以修饰类,成员变量,成员方法,构造方法。被public修饰后,可以再任何一个类中,不管同不同包,任意使用。
  • private可以修饰成员变量,成员方法,构造方法,不能修饰类(此刻指的是外部类,内部类不加以考虑)。被private修饰的成员只能在其修饰的本类中访问,在其他类中不能调用,但是被private修饰的成员可以通过set和get方法向外界提供访问方式。
  • defalut即不写任何关键字,它可以修饰类,成员变量,成员方法,构造方法。被默认权限修饰后,其只能被本类以及同包下的其他类访问。
  • protected可以修饰成员变量,成员方法,构造方法,但不能修饰类(此处指的是外部类,内部类不加以考虑)。被protected修饰后,只能被同包下的其他类访问。如果不同包下的类要访问被protected修饰的成员,这个类必须是其子类。
    还有一个是final
    final 修饰类,类不能被继承,修饰变量只能赋值一次,修饰方法方法不能被重写
修饰符本类同一个包的类其他包的类
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() 方法。

来源地址:https://blog.csdn.net/lx00000025/article/details/129812533

--结束END--

本文标题: java类的定义

本文链接: https://www.lsjlt.com/news/440891.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java类的定义
    目录 一、概念二、使用1.成员变量2.成员方法3.权限修饰符4.静态方法 三、重写toString方法 一、概念 我们不能将一个事物称之为一类事物,例如一只鸟我们不能称为鸟类,但是我们...
    99+
    2023-10-23
    java 开发语言 jvm
  • Java的组合类怎么定义
    这篇文章主要讲解了“Java的组合类怎么定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的组合类怎么定义”吧!我们可以在一个新类的定义中使用其他对象。这就是组合(compositi...
    99+
    2023-06-02
  • Java定义画板类的方法
    在画图软件中,可以画出不同大小的圆形、矩形等几何图形。圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。 编写Java程序: (1)...
    99+
    2024-04-02
  • Java嵌套类的定义及用法
    这篇文章主要讲解了“Java嵌套类的定义及用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java嵌套类的定义及用法”吧!到现在为止,我们都是在Java文件中直接定义类。这样的类出现在包(...
    99+
    2023-06-02
  • java类的实例化怎么定义
    在Java中,类的实例化可以通过关键字new来完成。定义一个类的实例化,需要按照以下步骤进行:1. 声明一个类变量,用于存储类的实例...
    99+
    2023-10-20
    java
  • Java如何定义Long类型
    目录Java定义Long数据类型Java定义的long和float为什么需要加L和F?定义long类型变量为什么需要加L? 定义float类型变量为什么需要加F?Java定...
    99+
    2024-04-02
  • Java怎么定义Long类型
    今天小编给大家分享一下Java怎么定义Long类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Java定义Long数据类型...
    99+
    2023-07-02
  • java怎么用static定义类
    在 Java 中,使用 `static` 关键字可以定义静态成员和静态方法。要使用 `static` 定义一个类,需要在类的声明中将...
    99+
    2023-08-24
    java static
  • java抽象类如何定义
    Java中定义抽象类需要使用关键字"abstract"。抽象类不能被实例化,只能作为其他类的父类,供其他类继承使用。抽象类的定义方式...
    99+
    2023-10-20
    java
  • java怎么定义线程类
    在Java中,可以通过以下步骤来定义一个线程类:1. 创建一个类,并让它继承自Thread类。2. 在类中重写Thread类的run...
    99+
    2023-08-08
    java
  • Java 内部类的定义与范例
    目录一、前言二、内部类语法格式:static修饰内部类内部类未被static修饰时:内部类被static修饰后演示操作:一、前言 前面我们学习了一个小的项目,现在我们来学习新的知识点...
    99+
    2024-04-02
  • Java面向对象和类的定义
    本篇内容介绍了“Java面向对象和类的定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、面向对象面向对象是在程序中使用对象来映射现实中的...
    99+
    2023-06-15
  • Java中参数传递类型的定义
    本篇内容介绍了“Java中参数传递类型的定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先看定义:值传递,是指方法接收的是调用者提供的值...
    99+
    2023-06-17
  • java内部类的定义与分类示例详解
    内部类 基本介绍 一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。是我们类的第五大成员,内...
    99+
    2024-04-02
  • java中string类的定义方法是什么
    在Java中,可以使用以下方法来定义字符串(String)类:1. 使用字符串字面量:```javaString str = "He...
    99+
    2023-08-17
    java string
  • java怎么定义枚举常量类
    在Java中,可以使用enum关键字定义枚举常量类。 以下是定义枚举常量类的示例代码: public enum Weekday { ...
    99+
    2023-10-24
    java
  • java自定义异常类怎么写
    要自定义一个异常类,你可以按照以下步骤进行操作: 创建一个新的Java类,命名为你想要的异常类名,并继承自Exception类或其...
    99+
    2024-02-29
    java
  • java类加载器怎么自定义
    要自定义Java类加载器,可以继承ClassLoader类,并重写它的findClass()方法。下面是一个简单的示例:```jav...
    99+
    2023-09-14
    java
  • java怎么定义复杂类型的数组
    在Java中,可以使用以下语法来定义复杂类型的数组:```java// 定义一个整数类型的二维数组int[][] array = n...
    99+
    2023-08-30
    java
  • java定义一个类的方法是什么
    在Java中,定义一个类的方法首先需要编写类的声明,然后在类中定义具体的方法。一个方法的定义通常包括方法的访问修饰符、返回类型、方法...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作