-
2019-05-16 00:15:13
尚硅谷java学习笔记
/** * 类的第三个成员变量:构造器(constructor 构造方法) constructor:建造者 构造器的作用: 1、创建对象 2、给创建的对象属性赋值 ; * * 1、设计类时,如不显示声明类的构造器 的话,程序会默认提供一个空参的构造器 ; 2、一旦显示的定义类的构造器,那么默认的构造器就不在提供, * 3、如何声明类的构造器。 格式: 权限修饰符 类名(形参){} 4、类的构造器之间构成重载 ; * */ public class TestPerson { public static void main(String[] args) { Person person1 = new Person(); Person person2 = new Person("lihua"); System.out.println(person2.getName()); Person person3 = new Person("limng",14); System.out.println("person3.name"+person3.getName()+"person3.age"+person3.getAge()); } } class Person { // 属性 private String name; private int age; // 构造器 public Person(){ } public Person(String name) { super(); this.name = name; } public Person(String name, int age) { super(); this.name = name; this.age = age; } // 方法 public void setName(String n) { name = n; } public String getName() { return name; } public void setAge(int i) { age = i; } public int getAge() { return age; } }
更多相关内容 -
java构造方法
2022-04-04 22:38:18构造方法用来给类的成员声明初始化。 构造方法是一种特殊的方法,它的方法名与类名相同,并且没有返回值,也不需要使用void关键字修饰。 构造方法分为两种,无参构造器(默认构造方法)和有参构造器(自定义构造方法) ...- 构造方法用来给类的成员声明初始化。
- 构造方法是一种特殊的方法,它的方法名与类名相同,并且没有返回值,也不需要使用void关键字修饰。
- 构造方法分为两种,无参构造器(默认构造方法)和有参构造器(自定义构造方法)
例:手动添加无参构造器的创建
public class Apple{
String name;float apple;
public Apple(){
name=苹果,
apple=12;
}
}
如果不想手动添加也可以不用添加系统会自动创建
public class Apple{
String name;float apple;
public Apple(){}
}
例:有参构造器的创建
public class Apple{
int name;float apple;
public Apple(int name, float apple){
this.name=name;
thise.apple=apple;
}
}
警告提示
如果类已经定义了一个或多个构造方法那么java,就不提供默认的构造方法。
修正方法
在拥有有参构造器的类中,手动添加无参构造器
public class Apple{
int name;float apple;
public Apple(){
name=苹果,
apple=12;
}
public Apple(int name, float apple){
this.name=name;
thise.apple=apple;
}
}
-
java中类的构造器
2020-07-08 21:06:39java中类的构造器 1.构造器的特征 它具有与类相同的名称 它不声明返回值类型。(与声明为void不同) 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值 2.构造器的作用 创建...java中类的构造器
1.构造器的特征
它具有与类相同的名称
它不声明返回值类型。(与声明为void不同)
不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值2.构造器的作用
创建对象;给对象进行初始化
如:Order o = new Order(); Person p = new Person(“Peter”,15);
如同我们规定每个“人”一出生就必须先洗澡,我们就可在“人”的构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。3.构造器使用
4.构造器分类
根据参数不同,构造器可以分为如下两类:
隐式无参构造器(系统 默认 提供)
显 式 定义一个或多个 构造器(无参、有参)注 意:
Java 语言中,每个类都至少有一个构造器
默认构造器的修饰符与所属类的修饰符一致
一旦显式定义了 构造器,则系统不再提供默认构造器
一个类可以创建多个重载的构造器
父类的构造器不可被子类继承5.构造器重载
public class Person { private String name; private int age; private Date birthDate; public Person(String n, int a, Date d) { name = n; age = a; birthDate = d; } public Person(String n, int a) { name = n; age = a; } public Person(String n, Date d) { name = n; birthDate = d; } public Person(String n) { name = n; age = 30; } }
6.属性赋值过程
赋值的位置:
① 默认初始化
② 显式初始化
③ 构造器中初始化
④ 通过“对象.属性“或“对象.方法”的方式赋值 赋值的先后顺序:
① - ② - ③ - ④ -
java构造函数
2021-06-05 17:28:55java中的构造方法 1、构造方法:构造器、构造函数 2、构造方法语法结构: [修饰符列表] 构造方法名 (形式参数列表){ 构造方法体; } 例:public User(){ } 那么他的类也是User 普通方法的语法结构(main方法): ...文章目录
构造方法
构造方法:
- 作用:创建对象;
- 对象与引用概念
- 对象:目前在使用new运算符在堆内存中开辟的内存空间称为对象。
- 引用:一个变量,不一定是局部变量,还可能是成员变量。引用保持的是内存地址,指向堆内存当中的对象。
- 所有访问实例相关的数据,都需要通过“引用.”的方式访问,因为只有通过引用才能找到对象。
- 只有一个空引用,访问对象的实例相关的数据会出现空指针异常。
java中的构造方法
- 1、构造方法:构造器、构造函数
- 2、构造方法语法结构:
[修饰符列表] 构造方法名 (形式参数列表){
构造方法体;
}
例:public User(){ } 那么他的类也是User
普通方法的语法结构(main方法):
[修饰符列表] 返回值类型 方法名 (形式参数){
方法体;
} - 3、对于构造方法来说,”返回值类型“不需要指定。并且不能写void【写void 是普通方法】
- 4、构造方法的方法名必须和当前类的类名一致。
- 5、构造方法的调用:
(方法修饰符中有static时)普通方法调用:类名.方法名(实参)
(方法修饰符中没有有static时): 引用.方法名(实参) - 6、构造方法执行之后的返回值:
每一个构造方法执行完之后,都有返回值。但是类似“return”的语句不需要写
构造方法结束之后,java程序自动返回值。
返回类型是构造方法所在类的类型。由于返回类型是类本身,所以返回值类型不需要编写 - 7、当一个类中,没有定义任何构造方法,系统默认给该类提供一个无参数的构造方法
这个构造方法被称为缺省构造器。 - 8、当一个类明确的将构造方法定义出来,那么系统不再默认为这个类提供缺省构造器。
建议开发中手动的为当前类提供无参数的构造方法。考虑到其他人也可能会定义无参的构造方法。 - 9、构造方法支持重载机制,在一个类中构造多个构造方法——参数不同。
public class User { public User() { System.out.println("默认的构造方法执行"); } //有参数的构造方法 public User(int i) { System.out.println("带有int类型的构造方法执行"); } public User(String i) { System.out.println("带有String类型的构造方法执行"); } //普通方法 :static ——调用:类名.方法名 public static void dosome() { System.out.println("普通方法带static执行"); } //普通方法:没有static ——调用:引用.方法名 public void doother() { System.out.println("普通方法没有static执行"); } } public class ConstructorTest01 { public static void main(String[] args) { //创建user对象 //调用User类的构造方法来完成对象的创建 //构建方法完成之后,即new User() 方法会返回创建对象在堆内存中的地址 User u = new User(); new User(1); new User("a"); //普通方法 带static User.dosome(); //普通方法 没有static u.doother(); } }
- 作用:创建对象;
-
Java构造方法(超详细!)
2021-04-10 17:58:481.构造方法有什么作用? 构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化。 换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。 注意:实例变量没有手动赋值的... -
JAVA构造函数(方法)
2019-06-03 21:56:24java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。 作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。 在现实生活中,很多事物一出现,就... -
java带参数的构造方法_JAVA 之 构造方法
2020-11-20 06:54:38Java中,最基本的单位就是类。类的构造方法,也叫构造函数,就是在实例化类时,对实例的一个初始化,类似于python里的 def __init__(self)。就比如,人类是一个类,每个人都是这个类的实例化,在一个人被创建(出生)... -
Java中类的构造方法
2016-10-20 23:17:50构造函数。在创建对象的时候,对象成员可以由构造函数方法进行初始化。new对象时,都是用构造方法进行实例化的; 例如;Test test = new Test("a"); //Test("a");其中这个就是构造函数,“a”为构造方法的... -
java构造函数怎么写
2021-03-01 07:47:12java构造函数怎么写发布时间:2020-06-29 11:50:19来源:亿速云阅读:114作者:Leahjava构造函数怎么写?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易... -
Java构造函数
2019-04-26 20:08:04开发工具与关键技术:MyEclipse 10;Java基础语法 撰写时间:2019-04-25 构造函数是面向对象中的一员,构造函数可以叫做...一个类中如果没有定义过构造函数,那么该类会有一个默认的空参数构造函数。如果在类中定... -
java构造器的重载
2019-05-07 17:29:42开发工具与关键技术:java语言、MyEclipse 10 作者:邓李庆 撰写时间: 2019年4月30日 下面给大家讲一些java中的基础面向对象,我们来了解一下什么是面向对象;对象和类有什么区别。...首先讲java中的类。... -
Java 中的拷贝构造方法
2019-12-20 23:21:24Java 中的拷贝构造方法是一种使用该类的一个对象构造另外一个对象的构造方法。 当需要拷贝一个带有多个成员变量的复杂对象或者想构造已存在对象的深拷贝对象时非常有用。 译者注:本文内容很简单,但是很实用。拷贝... -
Java基本语法:java类中方法与构造方法。
2018-08-10 16:30:30Java基本语法:java类中方法与构造方法。 首先我们要先弄明白什么是类: 类是Java中最基本的组成单元,Java将描述一类事物的属性(状态)和功能(行为)封装在一起,属性用成员变量来刻画;功能通过方法来体现。... -
JAVA入门——构造函数赋值问题
2019-10-14 00:48:00测试类test public class practice { public static void main ( String [ ] args ) { // 直接赋值,不能有private student stu = new student ( ) ; stu . name = "小明" ; stu . age... -
构造函数在Java中是否有返回类型?
2021-03-07 00:37:52不,构造函数在Java中没有任何返回类型。构造函数看起来像方法,但不是。它没有返回类型,并且其名称与类名称相同。通常,它用于实例化类的实例变量。如果程序员不编写构造函数,则编译器将代表他编写构造函数。示例... -
新手 java 在构造函数中给类中的变量赋值问题
2017-04-05 07:56:00java.util.Scanner scanner = new java.util.Scanner(System.in); float m_dRealPart; float m_dImaginPart; System.out.println("Please enter the real and imaginary parts of the plural:"); m_... -
Java 构造函数的详解
2016-07-14 14:54:44那么我们在java里面怎么在对象一旦创建就赋值呢? 1.构造方法的作用: 构造方法作用:对对象进行初始化. 如图: 2.构造函数与普通函数的区别: (1). 一般函数是用于定义对象应该具备的功能。... -
Java 抽象类中构造方法的作用?如何理解?
2021-02-12 15:25:38java抽象类的构造方法和普通类的构造方法一样都是用来初始化类只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数也可以使用其... -
java类的初始化和构造函数
2015-07-24 15:44:24本人小白一枚,看java类的初始化的时候好晕的说,我觉着书上虽然说的对,但总觉得有些信息没说出来,没说清楚,看了好多文章博客的,现在有些感悟,来小写下总结,也算是为以后再次复习种个好果子。 先摘一下书上... -
Java中的构造方法以及构造方法的重载
2018-10-20 14:58:20Java中类与对象的定义与使用 创建一个对象的语句:①类名称 ②对象名称 = ③new ④类名称(); 针对以上定义我们做出如下分析: ①任何对象都应该有其对应的类,类是对象的蓝图。 ②引用一块堆... -
java-类可以没有构造函数吗?
2021-02-12 22:21:04该问题的典型答案是“如果不声明构造...但是,如果未明确声明构造函数,则Java定义的任何类都具有默认构造函数。 前者的示例是通过Java代码创建的)。考虑下面这个问题的代码:public class Outer{private class Inne... -
深入java (类)构造函数和对象创建的内存分配
2017-05-11 17:44:06之前的文章总结了java一些较为常用的关键字,现在我们要进入到类里面,总结类的特征(其中包括了内存和构造函数,gc垃圾回收),java中类的继承和初始化顺序(会涉及到...从计算机原理角度初探java类对象使用的堆和栈 j -
java的构造方法链
2017-04-18 11:43:031.简介构造一个类的实例时, 将会调用沿着继承链的所有父类的构造方法。 当构造一个子类的对象时, 子类构造方法会在完成自己的任务之前, 首先调用它的父类的构造方法。 如果父类继承自其他类, 那么父类构造方法又... -
Java的构造方法不能被重写
2020-09-30 20:31:57Java的构造方法不能被重写但是可以被重载 首先需要了解一下Java中方法的重写和重载的区别 重载(Overload)是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名... -
Java中构造函数的作用
2016-05-29 11:50:47Java构造函数 -
Java构造器(构造方法)详解
2021-09-11 21:47:58文章目录Java构造器(构造方法)详解Java构造器怎么定义构造器构造器的使用构造器的继承**构造器、静态代码块、构造代码块的执行顺序,详见下文实例**实例1.默认构造器2.禁止对象被外部创建3.构造器重载4.构造器的... -
java 构造器 (构造方法)
2021-03-16 02:57:00构造器 (constructor,构造方法) 3W what ? why? how? 是什么 , 为什么, 怎么用? 注意事项?What ? 是什么: 构造器(又叫构造方法)本身是一种特殊的方法,(但是和方法又没有什么大的关系,习惯上叫构造器,以免... -
java继承构造方法调用顺序
2021-11-26 19:28:45首先根据带参数的对象去找相应类的构造方法,在Child类中找到了带参数的构造方法, 2.因为有super(name)的语句存在,所以会去调用父类的带参数的构造方法,输出People(String name); 3、回到子类中执行输出Child... -
java怎么调用构造方法
2021-03-04 04:38:04Java调用构造方法,那就是子类调用基类(父类)的构造方法,如何调用,请看详细内容。子类中的构造方法的规则子类的构造过程中必须调用其基类的构造方法。子类可以在自己的构造方法中使用super(argument_list)调用基类...