类与对象,构造方法
一、类与对象
关系:客观世界中每一个具体的个体都是一个对象,而拥有一些对象的共同基本特征就形成一个个类。例如,张三、李四都是对象,而人类、书包、电脑都是类。类中有属性和方法。要使用一个类就要产生对象,对象之间是靠各个属性的不同来区分的。
类
1、类名字的第一个字母要大写
2、属性——访问权限 属性类型 属性名称
3、方法——访问权限 返回值类型 方法名称(参数类型 参数名称,...){
方法体
}
class Student{
String name;
int age;
public void tell(){
System.out.println("姓名:"+name+", 年龄:"+age);
}
}
对象
类名 对象名称 = new 类名();
引用数据类型使用这样的定义样式。
public class Test{
public static void main(String[] args){
Student stu = new Student(); //创建并实例化对象
}
}
所有的对象名称在栈内存中保存,对象的具体内容保存在对应的堆内存中,即栈中存放的是堆空间的地址。必须使用关键字new才能开辟堆内存空间。当创建多个对象时,使用上述方法可以分别开辟堆内存。
注意! 一个栈内存空间智能指向一个堆内存空间,而一个堆内存空间的使用权可以给多个栈内存空间,每个栈内存空间都可以修改堆内存的内容。
public class Student{
public static void main(String[] args){
Student stu1 = new Student(); //实例化对象stu1
Student stu2 = null; //声明对象stu2
stu2 = stu1; //把stu1的堆内存空间使用权给stu2
stu1.name = "Jack";
stu1.age = 25; //设置stu1的属性,stu2的也改变
stu2.name= "Rose";
stu2.age = 22; //设置stu2中的属性,此时stu1也与stu2相同
stu1.tell();
stu2.tell(); //输出两个对象的信息
//可以发现都是 姓名:Rose, 年龄:22————这就是引用传递
}
}
二、构造方法
在对象实例化时,用了这样的结构:A a = new A();这之中就调用了构造方法。可以利用构造方法在对象实例化时就直接把对象的值赋值给属性。
构造方法的定义:
1、构造方法名称与类名相同
2、构造方法没有返回值类型的声明
3、没有return返回一个值
所有类都存在一个构造方法,当类中没有声明构造方法时,编译时会自动生成一个无参的构造方法 public Student(){} 如果一个类已经声明了构造方法,那么编译时就不会再生成无参构造方法了。
构造方法是可以重载的。
class Student{
String name;
int age;
public Student(String name){
this.name = name; //构造方法,一个参数name
}
public Student(String name,int age){
this.name = name;
this.age = age; //构造方法,两个参数name,age
}
public void tell(){
System.out.println("姓名:"+name+", 年龄:"+age);
}
}
public class Test{
public static void main(String[] args){
Student stu = new Student("Jack"); //实例化,调用一个参数的方法
stu.tell(); //得到的信息是 姓名:Jack, 年龄:0
}
}
分享到:
相关推荐
●类的定义 ●对象的定义 ●类与对象 ●对象定义类的示例 ●实例变量 ●实例方法 ●实例成员的访问 ●对象的创建 ●构造方法 ●构造方法的特点 ●实例成员访问形式
它可能详细介绍了如何设计和使用构造方法,包括参数化的构造方法、重载构造方法、以及构造方法与this关键字和super关键字的配合使用。 总之,类和对象是面向对象编程的基础,它们帮助我们将复杂的问题抽象为独立的...
本文将深入探讨PHP中的类、对象以及构造方法。 首先,类(Class)是面向对象编程的基础,它是一种模板或蓝图,定义了一组属性(数据成员)和方法(成员函数)。属性描述了对象的状态,而方法则定义了对象的行为。在...
面向对象与Java实现:类、对象、构造方法详解 面向对象程序设计(Object-Oriented Programming,简称OOP)是一种先进的软件设计思想,其核心在于将现实世界中的事物和概念映射到计算机程序中,通过类(Class)和...
`Monkey`类中有默认构造方法和带参数的构造方法,后者允许我们在创建对象时立即设置属性值。 接着,我们学习了如何创建和使用对象。在Java中,通过`new`关键字和类的构造方法来创建对象。实验中,我们创建了两个`...
构造方法与抽象类和接口 - 抽象类可以有构造方法,但接口不能。接口中的所有成员都是公开的(public),因此在接口中定义构造方法是非法的。 - 抽象类的子类在实例化时,必须调用抽象类的构造方法来初始化父类的...
类与对象、封装、构造方法 类和对象是面向对象编程的基础概念,它们之间的关系是面向对象编程的核心。类是对一类事物的描述,是抽象的;对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体。 面向...
构造方法与类名相同,没有返回类型。每个类可以有一个默认构造函数(无参数的构造器),也可以根据需求定义带参数的构造函数。构造方法的主要作用包括: 1. 初始化类的成员变量。 2. 执行必要的设置工作,比如资源...
总的来说,面向对象思想和Java语言中的类与对象、封装、构造方法等概念,是编写高效、可维护的代码的关键。通过理解并熟练运用这些概念,开发者可以构建出更加符合实际需求、易于扩展和维护的软件系统。
在Java中,构造方法与类同名且没有返回类型,它在创建对象时自动调用。构造方法可以有参数,这样就可以在创建对象时传递初始值。如果没有定义构造方法,Java会提供一个默认的无参构造器。通过重载构造方法,我们可以...
### 类和对象,this关键字和构造方法 #### 一、类和对象的概念 在面向对象编程(OOP)中,“类”与“对象”是最基本也是最重要的概念。 1. **类**: - 类是一种抽象的数据类型,用来描述具有相同属性和行为的...
构造方法是类的特殊方法,用于初始化对象的状态。 在设计类时,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final类。final类的成员方法没有机会被覆盖,默认情况下...
以下是关于PHP中类、对象、构造方法及其相关知识点的详细解释。 1. **类和对象**: - **类(Class)** 是一种抽象的数据结构,用于定义具有相似特征的对象模板。类包含了属性(数据成员)和方法(成员函数),用于...
构造方法与类名相同,没有返回类型,也不需要在方法签名中声明void。了解和熟练使用构造方法是Java面向对象编程的基础,下面将详细阐述Java构造方法的相关知识点。 一、构造方法的作用 构造方法的主要任务是在创建...
【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 ) https://hanshuliang.blog.csdn.net/article/details/113746569 博客源码快照
如果我们将 `Inner1` 的 `public` 修饰符去掉,构造方法就不再对其他类可见。这时,`getConstructors()` 将返回空数组,因为非静态内部类需要一个外部类的引用才能实例化。在这种情况下,我们需要使用 `...
#### 五、构造方法与继承 在Java中,当子类继承父类时,子类的构造方法会隐式或显式地调用父类的构造方法。如果子类的构造方法没有明确调用父类的构造方法,那么Java会默认调用父类的无参构造方法。但如果父类中...