Java 类的概念与使用

一、什么是类

类可以看成是对于对象在编程里的描述,程序员使用类来实现一个对象的概念。类是一个模板,描述一类对象的行为和状态。

以人为一个对象,对象有吃饭睡觉的行为以及身高体重的状态,而在编程语言中,我们将吃饭睡觉这样的行为成为类的方法,而身高体重的状态成为类的属性。

总的来说,类就是编程语言对于面向对象概念的实现

二、类的实现方式

我们可以使用 :

修饰符+Class+类名 +{}

来创建一个类,并可以在类中实现属性和方法,类中基本的成员有:

  • 属性
  • 构造方法
  • 普通方法
  • 代码块

对于基本成员的创建方式为:

属性:

定义一个属性比如定义一个整数变量,可以通过

修饰符+ 数据类型+变量名+变量赋值

来完成,具体的使用为,我们定义完成后,即可对其进行调用

class  Demo
{
    public static int num=10; //静态属性,修改数字,所有调用该属性的脚本都会发生改变
}
class Test
{
    public static void main(String[] args) {
        Demo demo=new Demo();
        System.out.println(demo.num);
    }
}

//最终输出:10

普通方法:

普通方法是我们最常用的方法,定义方式为:

修饰符 数据类型 方法名(参数){代码块}

普通方法是体现一个类的价值的重要一部分,通过这些方法,才能实现对于类的行为体现,具体定义与实现为:

class  Demo
{
    public void print()
    {
        System.out.println("这是一个普通方法");
    }
}
class Test
{
    public static void main(String[] args) {
        Demo demo=new Demo();
        demo.print();  //对于类的实例化后进行调用
    }
}
//最终输出:这是一个普通方法

构造方法:

构造方法存在的意义为,当对于一个类进行实例化时,就是实例化其构造函数,说的更简单些,当我们new一个类时,这里类里面的构造函数就会被调用执行:

构造函数的组成方式:

  • 修饰符+类名(构造方法的方法名与类名相同)+()
    {
    }

使用一个代码实例来理解构造函数的使用方法以及其作用:

class  Demo
{
    public Demo()
    {
        System.out.println("这是一个构造方法");
    }   
}
class Test
{
    public static void main(String[] args) {
        Demo demo=new Demo();   //实例化时就直接运行构造函数,而不需要通过调用执行
    }
}
//最终输出:这是一个构造方法

代码块:

代码块与构造方法类似,都会在实例化时执行,但是实例化时最先执行的是代码块,主要可以用来做一些准备工作,其实现为:

class  Demo
{
    {
        System.out.println("这是一个代码块");
    }
}
class Test
{
    public static void main(String[] args) {
        Demo demo=new Demo();
    }
}
//最终输出:这是一个代码块

三、类的使用特性

特殊的类:

为了实现某些特殊的用途,类又细分出很多,他们各有各的用法,各有各的特点,总的来说,有下面这些特殊的类:

  • 内部类:定义在类内部的类
  • 抽象类:由abstract修饰的类,不能被实例化
  • 静态类:在Java中与内部类一起使用

类的继承:

在Java中,类的继承使用关键字extends来实现,类的继承的目的是提取出类的公共属性方法,使得代码可以更加精简。关于具体的使用方式可以看我之前的文章

类的多态

在Java中,多态的实现主要是通过重写来完成的,具体细节可以看例子:

abstract class  Demo
{
    abstract void print();
}
class Test extends Demo
{
    @Override
    void print()
    {
        System.out.println("我要重写一个方法");
    }
}
//最终输出:我要重写一个方法
原文地址:https://www.cnblogs.com/ryyy/p/14228105.html