IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java的类与对象——你真的懂了吗(手动狗头) -> 正文阅读

[Java知识库]Java的类与对象——你真的懂了吗(手动狗头)

或许学习了Java后,对于类与对象你只知道类——class,对象——object

如果真的是这样,请问你礼貌吗?

_白白不白
它们的概念是这样的:

类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。

对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。

其实在java中类是对象的集合,对象是类的实例。
对象是通过new className产生的,每一个对象都是通过类所实例化出来的,然后在调用类中的方法、类的构造方法

类与对象

首先类我们可以理解为一个我们自己写出来的较为复杂的数据结构,类似于C语言中的结构体,只不过这个结构体中有方法而已

每一个程序有且必须有一个主类,为程序的入口

类的成员可以包含:字段、方法、代码块、内部类和接口等

what…方法??类的方法??类的构造方法???什么鬼呢?

这里再解释一下Java的方法分为方法与构造方法

方法:

可以理解为c语言的函数,来解决某一类问题的的个方法(可恶!又是方法,注意不要上头,被绕进去)

构造方法:

构造方法主要就是为了创建对象,并且完成对象的初始化,类实例化一个对象时会自动调用构造方法,构造方法的基本语法为:

方法名必须与类名相同
构造方法没有返回值(连void都不能有)
每一个类中至少定义一个构造方法(没有明确定义,系统会自动生成一个无参数的构造方法,如果自己定义了,默认构造方法将不再生成)

接下来我们看一个代码:

class Baibai{
    int a;
    #构造方法不能有返回类型,因为无返回值
    public Baibai(){
        a=10;
        System.out.println(a);
        System.out.println("构造方法");
    }
    #普通方法必须要有返回类型
    public void General(){
        System.out.println("普通方法");
    }
}
public class Text_0 {
    public static void main(String[] args){
        Baibai B=new Baibai();
        B.General();
    }
}

它的输出为:
10
构造方法
普通方法

这里注意我们没有调用类中的Baibai()方法,但是它为什么运行了呢??

如果还存在这个疑问就说明之前的东西你没有完全懂!解释一下这个:

首先要知道的是

Baibai B=new Baibai();

中的Baibai()指的不是类,而是构造方法,对象是通过类的构造方法来创建的,如果说你写类的时候没有特意去写构造方法,那么系统会自动生成一个无参数的构造方法,即:

public Baibai(){}

其次,你要知道的是:使用对象时,new 执行了两个过程

为对象分配内存
调用对象的构造方法

也就是说当你创建对象时,程序会先执行一遍对应的构造方法

为什么我这里要加上“对应”呢?因为构建方法也是可以重载的

重载

重载是指我们可以定义一些名称相同的方法,通过定义不同的参数来区分这些方法,然后再调用时,Java虚拟机就会根据不同的参数列表来选择合适的方法执行。也就是说当一个重载方法被调用时,Java用参数的类型或个数来决定实际调用的重载方法。因此,每个重载方法的参数的类型或个数必须是不同。如下:

class Baibai{
    int a;
    public Baibai(){
        a=10;
        System.out.println(a);
        System.out.println("构造方法");
    }
    public Baibai(int b){
        a=b;
        System.out.println(a);
        System.out.println("构造方法的重载");
    }
    public void General(){
        System.out.println("普通方法");
    }
}
public class Text_0 {
    public static void main(String[] args){
        Baibai B=new Baibai();
        #同时赋初值
        Baibai B1=new Baibai(5);
        B.General();
    }
}

它的输出为:
10
构造方法
5
构造方法的重载
普通方法

在这里插入图片描述___________________________________________________________
下期继续更新
.
.
.
以上为个人理解,如有错误遇到瑕疵请多指教!
周末快乐!!!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:48:21  更:2021-10-24 14:50:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:51:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码