찾다
JavaJava시작하기자바 생성자 란 무엇입니까?

자바 생성자 란 무엇입니까?

Constructor는 객체 지향의 멤버입니다. 생성자는 클래스 이름과 동일하며 반환 값 유형을 정의할 필요가 없습니다. 생성자는 생성된 객체를 생성할 때 호출되는 함수로, 생성된 모든 객체는 생성자를 통해 초기화되어야 합니다. 클래스에 정의된 생성자가 없으면 클래스에는 빈 매개변수가 있는 기본 생성자가 있습니다. 지정된 생성자가 클래스에 정의되어 있으면 클래스에 기본 생성자가 없습니다.

우리가 태어날 때 이름을 지어주는 사람도 있지만, 태어나자마자 이미 이름을 지어주는 사람도 있습니다. 그렇다면 Java로 객체가 생성되면 객체에 값을 어떻게 할당합니까?

자바 생성자 란 무엇입니까?

자바 생성자 란 무엇입니까?

1. 생성자의 역할:

생성자의 역할: 객체를 초기화합니다.

그림과 같이:

자바 생성자 란 무엇입니까?

2. 생성자와 일반 함수의 차이점:

(1) 일반 함수는 객체가 가져야 할 함수를 정의하는 데 사용됩니다. 생성자는 함수를 호출하기 전에 개체가 생성될 때 포함해야 하는 일부 콘텐츠를 정의합니다. 즉, 객체의 초기화 내용입니다.

(2) 객체를 초기화하기 위해 객체가 생성될 때 jvm에 의해 생성자가 호출됩니다. 일반적으로 함수는 객체가 생성된 후 객체가 함수를 호출할 때 실행됩니다.

(3) 일반 함수는 객체를 사용하여 여러 번 호출할 수 있으며, 객체가 생성될 때 생성자가 호출됩니다.

(4) 생성자의 함수 이름은 클래스 이름과 동일해야 하지만 일반 함수는 식별자의 명명 규칙만 준수하면 됩니다.

(5) 생성자에는 반환 값 유형이 없습니다.

3. 생성자에서 주의할 사항:

(1) 클래스에 정의된 생성자가 없으면 시스템은 클래스에 빈 매개변수가 있는 생성자를 할당합니다. 이는 클래스의 기본 생성자입니다. 클래스에서 생성자를 사용자 정의하면 기본 생성자가 사라집니다.

참고: javap 명령을 통해 확인할 수 있습니다.

(2) 다양한 초기화를 위해 클래스에 여러 생성자를 정의할 수 있습니다. 하나의 클래스에는 여러 생성자가 존재하며 오버로딩 형태로 구현됩니다. 생성자의 이름이 모두 동일하기 때문입니다.

class Perosn{
private int id;
private String name;
private int age;
public Perosn(){
cry();
}
public Perosn(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("哇哇哇....");
}
}

질문: 모든 아이는 태어날 때 울어야 합니다. 이 코드에는 두 개의 생성자가 있습니다. 모든 아이가 태어날 때 울어야 한다면, 다른 생성자에서 cry() 함수를 호출해야 합니다. 코드 중복 문제가 발생하는데 어떻게 해결하나요? 코드 블록을 구성합니다.

4. 구성 코드 블록:

구성 코드 블록의 기능: 모든 개체를 균일하게 초기화합니다.

class Perosn{
private int id;
private String name;
private int age;
{
cry();// 每个Person对象创建出来都会执行这里的代码
}
public Perosn(){
cry();
}
public Perosn(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("哇哇哇....");
}
}

특정 기능:

1: 개체를 초기화합니다. 객체가 생성되자마자 실행되며 생성자보다 우선합니다.

2: 생성자와의 차이점

(1) 생성 코드 블록과 생성자 함수의 차이점은 생성 코드 블록이 모든 개체를 균일하게 초기화하고 생성자 함수가 해당 개체를 초기화한다는 것입니다.

(2) 구성 코드 블록의 기능: 모든 구성 방법에서 공통 정보를 추출하는 기능입니다.

예를 들어, 아이는 태어나면 울 것입니다

코드는 다음과 같습니다:

class Boy {
 
String name;
int age;
String gender;
     // 构造代码块,给所有对象进行初始化。
{
System.out.println("哭。。。");
}
     
Boy() {
System.out.println("无参构造");
}
 
Boy(String n, int a, String g) {
name = n;
age = a;
gender = g;
System.out.println("有参构造");
}
 
void run() {
System.out.println("跑...");
}
 
}
 
class Demo9 {
 
public static void main(String[] args) {
 
System.out.println();
Boy b = new Boy();
 
Boy b2 = new Boy("jack", 1, "男");
 
}
}

php 중국 웹사이트, 다수의 무료 Java 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 자바 생성자 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음