前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java:对象and类?

Java:对象and类?

作者头像
小Bob来啦
发布2021-10-21 16:50:25
9660
发布2021-10-21 16:50:25
举报
目录:
  1. Java类和对象的关系
  2. Java对象和构造函数

一.Java类和对象之间的关系

Java的对象和类,我们可以简单理解为对象是由属性和行为构成的,既然有属性也就会产生数据。这里我们可以将类理解为用于描述一类对象的行为和状态,即把类可以看做一个模板,这个模板将会包括一些关于对象的行为或状态。

也就是说我们在Java程序中想要创建一个对象,必须得先有类,才会有对象。

格式:类名 对象名=new 类名(); person p=new Person();

当我们在创建一个类后,我们可以在类中创建一个对象,那么在创建对象时必然会使用到的一个new关键字,Java程序员有句俗语叫找不到对象就new一个嘛

Java对象与new关键字

  • new关键字表示创建一个对象;
  • new关键字表示实例化对象;
  • new关键字表示申请内存空间。

二.java对象和构造函数

上面说完Java中的对象和类,那么我们在创建完对象后对对象的初始化或者说给对象的属性赋值。如果把这个对象看作是一个动态的,比如大家经常玩的手游王者荣耀或英雄联盟,游戏中的角色必然是随着游戏的进程而不断成长的,那么其中角色的属性也必然是不断变化的,但游戏的公平性必然是在游戏开始时英雄的属性是固定的,也就是说这个对象我们在创建后会给他赋个初始值,那么这里就需要使用到我们这里说的构造函数。

Java构造函数,也可以称之为构造方法,是Java中一种特殊的函数。即构造函数没有返回类型,且函数名和类名保持一致。

我们在类中new完对象后,其实也就调用了该对象的属性和方法。

构造函数的一个基本作用便是我们用来初始化成员属性和成员方法的。

构造函数的两种格式:

1.修饰符 类名(参数列表) {}

2.直接类名(参数列表){}

在这两种格式中对于参数列表我们也可以分为默认无参构造函数和有参数的构造函数。

无参构造函数实例:

代码语言:javascript
复制
public class Employee
{
    public Emploeey()
    {}
}

有参构造函数实例:

代码语言:javascript
复制
public class Employee
{
    public Employee(String name,int age)
    {}
}

To:构造函数可以有return函数,但不能有具体的返回类型。

代码语言:javascript
复制
public class Employee
{
    public Employee(String name,int age)//无返回值
    {
        return;//构造函数中可以有return关键字,但是不能有具体的返回类型
    }
}

To:如果我们自己没有创建构造函数,那么我们在创建对象时会自动的隐式调用类中给我们提供的构造函数。

(如下面的Student s = new Student();)

程序实例:

代码语言:javascript
复制
package self2;
public class Student {
    int age;
    String name;
    boolean flag;
    
    public Student(String name,int age) {
        
    }
    
    public static void main(String[] args) {
        //Student s = new Student();//自己创建构造函数后,这是错误的
        Student s1 = new Student("bob",2);//必须依赖类中提供的构造函数
        System.out.println("年龄="+s1.age);
        System.out.println("name="+s1.name);
        System.out.println("flag="+s1.flag);
    }
}

Java程序中的构造方法不是手动调用的,而是对象被创建的时候由jvm调用。如果一个类没有定义构造方法,jvm编译的时候会给这个类默认添加一个无参构造函数;如果定义了构造方法,那么jvm便不会再创建无参构造方法。创建对象的时候,有几个参数,与其对应的构造方法,也要有几个参数。简单来说,构造函数便是给类中的属性赋值使之初始化。

继续干Java~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档