一.Java类和对象之间的关系
Java的对象和类,我们可以简单理解为对象是由属性和行为构成的,既然有属性也就会产生数据。这里我们可以将类理解为用于描述一类对象的行为和状态,即把类可以看做一个模板,这个模板将会包括一些关于对象的行为或状态。
也就是说我们在Java程序中想要创建一个对象,必须得先有类,才会有对象。
格式:类名 对象名=new 类名(); person p=new Person();
当我们在创建一个类后,我们可以在类中创建一个对象,那么在创建对象时必然会使用到的一个new关键字,Java程序员有句俗语叫找不到对象就new一个嘛
。
Java对象与new关键字
二.java对象和构造函数
上面说完Java中的对象和类,那么我们在创建完对象后对对象的初始化或者说给对象的属性赋值。如果把这个对象看作是一个动态的,比如大家经常玩的手游王者荣耀或英雄联盟,游戏中的角色必然是随着游戏的进程而不断成长的,那么其中角色的属性也必然是不断变化的,但游戏的公平性必然是在游戏开始时英雄的属性是固定的,也就是说这个对象我们在创建后会给他赋个初始值,那么这里就需要使用到我们这里说的构造函数。
Java构造函数,也可以称之为构造方法,是Java中一种特殊的函数。即构造函数没有返回类型,且函数名和类名保持一致。
我们在类中new完对象后,其实也就调用了该对象的属性和方法。
构造函数的一个基本作用便是我们用来初始化成员属性和成员方法的。
构造函数的两种格式:
1.修饰符 类名(参数列表) {}
2.直接类名(参数列表){}
在这两种格式中对于参数列表我们也可以分为默认无参构造函数和有参数的构造函数。
无参构造函数实例:
public class Employee
{
public Emploeey()
{}
}
有参构造函数实例:
public class Employee
{
public Employee(String name,int age)
{}
}
To:构造函数可以有return函数,但不能有具体的返回类型。
public class Employee
{
public Employee(String name,int age)//无返回值
{
return;//构造函数中可以有return关键字,但是不能有具体的返回类型
}
}
To:如果我们自己没有创建构造函数,那么我们在创建对象时会自动的隐式调用类中给我们提供的构造函数。
(如下面的Student s = new Student();)
程序实例:
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~
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有