찾다
컴퓨터 튜토리얼컴퓨터 지식Java에서 Object 클래스에 null 매개변수 생성자가 필요한 이유는 무엇입니까?

java中为什么 Object类要有一个空的构造函数

Java에서 Object 클래스에 빈 생성자가 있는 이유는 무엇입니까?

다른 클래스는 Object 클래스를 상속하여 Object 생성자 메서드를 상속하므로 매개 변수 없는 생성자를 명시적으로 정의할 필요가 없습니다.

Object는 모든 클래스의 상위 클래스이고 이를 상속하는 다른 클래스가 없으므로 인스턴스화를 위해서는 인수가 없는 생성자가 있어야 합니다.

Java는 뛰어난 다양성, 효율성, 플랫폼 이식성 및 보안을 갖춘 크로스 플랫폼 객체 지향 프로그래밍 언어입니다. 이는 PC, 데이터 센터, 게임 콘솔, 과학 슈퍼컴퓨터, 휴대폰 및 인터넷에서 널리 사용됩니다. 동시에 Java는 세계 최대 규모의 전문 개발자 커뮤니티를 보유하고 있어 향후 개발과 혁신을 위한 견고한 기반을 제공합니다.

객체는 현실 세계에서 우리 주변의 일부 객체를 모방하는 데 자주 사용됩니다.

소프트웨어 개체는 상태와 동작이 있는 실제 개체의 모델입니다. 상태는 사용자 식별자로 명명된 변수를 통해 유지됩니다. 메소드는 객체의 동작을 수행하는 객체와 연관된 함수입니다. 따라서 소프트웨어 객체는 변수를 통해 상태를 유지하고, 메소드를 통해 동작을 수행하는 모델이다.

객체는 객체지향 기술을 이해하는 열쇠입니다. 학습 전, 개, 테이블, TV, 자전거 등 실제 사물을 관찰할 수 있습니다. 이러한 객체에는 상태와 동작이라는 두 가지 공통 특성이 있습니다. 예를 들어, 개는 자신만의 상태(예: 이름, 색깔, 번식력, 배고픔 등)와 행동(예: 꼬리 흔들기)을 가지고 있습니다. 마찬가지로 자전거에는 상태(예: 현재 기어, 바퀴 등)와 동작(예: 제동, 가속, 감속 및 기어 변경)이 있습니다. 이러한 객체를 관찰함으로써 우리는 객체지향 기술을 더 잘 이해할 수 있습니다.

빈 C 생성자 함수 본문을 작성한다는 것은 무엇을 의미하나요

객체 인스턴스화 및 데이터 초기화는 일반적으로 생성자를 통해 수행됩니다. Java에서는 모든 클래스가 Object 클래스에서 상속되므로 기본적으로 Object 클래스의 빈 매개변수 생성자가 상속됩니다. 이는 null 생성자를 작성하지 않더라도 여전히 존재한다는 의미입니다. 그러나 매개변수화된 생성자는 일반적으로 개발자가 직접 작성합니다. 매개 변수가 있는 생성자는 빈 매개 변수 생성자와 유사하게 작동하지만 매개 변수를 수신하고 일부 특정 초기화 작업을 수행할 수 있습니다. 따라서 매개변수화된 생성자를 사용하면 객체의 데이터를 초기화하는 데 더 많은 유연성이 허용됩니다. 요약하면, 빈 매개변수 생성자는 Object 클래스에서 상속된 기본 생성자이고, 매개변수화된 생성자는 개발자가 직접 작성하며 매개변수를 수신하고 특정 초기화 작업을 수행할 수 있습니다.

예를 들어 설명하겠습니다

String height;String

속성을 갖는 Monitor 클래스가 있습니다.

너비

공개 모니터(){}

공개 모니터(문자열 높이, 문자열 너비){}

빈 매개변수 하나와 매개변수가 있는 매개변수 하나가 있는 생성자 메서드

메인 메서드에서는 초기화 작업을 수행합니다

모니터 모니터=새 모니터();

이 구조는 표시 객체만 생성하며 해당 속성에는 값이 없습니다. 수동으로 값을 할당할 수도 있습니다

예: monitor.height=100;

monitor.width=200;

인삼이 들어간거랑은 다르니까 걱정이 많이 덜해요

모니터 모니터2=새 모니터("100","200");

여기서 속성에 값을 할당하기 위해 직접 입력하고 싶은 매개변수를 입력하면 됩니다. 작업이 많이 절약되나요?

이게 장점이에요!

답변 완료!

생성자는 객체를 생성할 때 객체를 초기화할 때 주로 사용하는 특수 메소드입니다. 즉, 객체 멤버 변수에 초기값을 할당하는 것입니다

객체를 생성하는 문에서는 항상 new 연산자와 함께 사용됩니다. 특수 클래스는 여러 개의 생성자를 가질 수 있습니다. 매개변수의 수나 매개변수의 유형, 즉 생성자의 오버로딩에 따라 구분할 수 있습니다.

생성자와 다른 메소드의 차이점

1. 생성자의 이름은 클래스 이름과 정확히 동일해야 하며 일반 메서드는 클래스 이름과 동일할 수 없습니다.

2. 생성자의 함수는 클래스의 객체가 생성될 때 초기화 상태를 정의하는 데 사용되며 반환 값이 없으며 void로 수정할 수 없습니다. 그리고 다른 메서드에는 반환 값이 있습니다. 비록 그것이 void 반환 값이더라도 메서드 본문 자체는 자동으로 아무것도 반환하지 않지만 여전히 무언가를 반환하도록 할 수 있으며 이러한 것들은 안전하지 않을 수 있습니다.

3. 생성자는 new 연산자를 통해 객체가 생성될 때 자동으로 호출되어야 합니다.

4. 클래스를 정의할 때 일반적으로 클래스의 생성자가 표시되며, 함수에서 초기화 작업이 생략될 수 있습니다. 이 기본 생성자는 매개변수가 없습니다. 이 기능이 있어요

간단히 말하면 생성자는 객체를 생성하는 데 사용됩니다. 보다 전문적으로는 객체 인스턴스화라고 합니다.

정의:

A클래스

{

공개 A(){}

}

사용:

A a=new A(); //여기서 A()는 생성자입니다.

한 가지 주의할 점은 클래스에 정의된 생성자가 없으면 컴파일러가 자동으로 빈 생성자를 생성하고 클래스의 각 멤버에 기본값이 할당된다는 것입니다.

그러나 클래스에 전용 생성자만 정의된 경우 클래스는 인스턴스화되지 않습니다.

A클래스

{

문자열a;

private A() { }//이 클래스는 인스턴스화할 수 없습니다

}

매개변수가 있는 생성자를 정의하지만 매개변수가 없는 생성자는 정의하지 않는 경우 이 클래스의 개체를 인스턴스화할 때 매개변수를 제공해야 합니다.

A클래스

{

문자열a;

공개 A(문자열 str) {a=str }

}

객체 A를 인스턴스화할 수 없습니다. a=new A();

생성자는 동적 생성자와 정적 생성자로 구분됩니다.

동적 생성자는 인스턴스화될 때 클래스 또는 구조체에 대한 메모리 공간을 할당하고 클래스 또는 구조체의 멤버 변수 초기화를 완료합니다. 동적 생성자는 오버로드될 수 있습니다. 즉, 동일한 생성자 이름에 다양한 유형과 숫자의 생성자가 여러 개 있습니다. 매개변수가 있는 생성자와 매개변수가 없는 생성자 사이에는 본질적인 차이가 없습니다. 매개변수가 있는 생성자는 전달된 변수에 의해 제어되거나 멤버 변수를 직접 초기화할 수 있습니다.

정적 생성자는 매개변수를 전달할 수 없습니다. 즉, 클래스에는 단 하나의 정적 생성자만 허용됩니다. 정적 멤버에 처음 액세스하거나 이 클래스의 동적 개체를 처음 인스턴스화하기 전에 호출됩니다.

c 생성자는 빈 문자열을 생성합니다

#포함

#포함

네임스페이스 표준 사용;

#MAXLENGTH 1000 정의

클래스 CString

{

문자 m_buff[MAXLENGTH];

공개:

CString(); //생성자 1, 빈 문자열로 설정

~CString();

friend ostream& 연산자

문자 연산자[](int i)const;

};

CString::CString()

{

//m_buff[0]=NULL; 무슨 뜻인가요?

memset(m_buff,0,sizeof m_buff); //문자열 초기화 함수

}

char CString::operator[](int i)const

{

return m_buff[i];

}

ostream& 연산자 {

반품 }

CString::~CString()

{

//delete[] m_buff; 형님, new 없이는 삭제를 사용할 수 없습니다. 삭제는 동적으로 할당되어야 합니다.

}

int main()//일반적으로 int를 씁니다

{

CString s1;

cout return 0; //쓸 필요는 없습니다

} 어쨌든 오류는 보고되지 않습니다. 원하는 기능이 구현될 수 있는지 여부는 C++로 가는 길이 멀기 때문에 천천히 진행하세요.

Java의 생성자 메서드란 무엇입니까

공법은 일반적인 공법과 다른 특별한 공법입니다.

1. 생성자의 이름은 생성자가 정의된 클래스 이름과 정확히 동일해야 합니다. 반환 유형은 없으며 void도 아닙니다.

2. 객체를 생성할 때 new 작업을 사용하여 생성자 메서드가 호출됩니다. 생성자의 기능은 객체를 초기화하는 것입니다.

3. 정적, 최종, 동기화, 추상 및 기본으로 수정할 수 없습니다. 생성자는 하위 클래스에서 상속될 수 없습니다.

클래스 RectConstructor{

두 배 길이;

이중 너비;

이중 영역(){

반환 길이*너비;

}

//다음 메소드는 소위 생성 메소드인데 반환 값이 없고 메소드 이름은 클래스 이름과 동일합니다~~~

RectConstructor(두 배 너비, 두 배 길이){//매개변수가 있는 생성자 메서드

this.length=길이;

this.width=너비;

}

}

실제로 구성방법은 클래스의 멤버들에게 초기값을 할당하는 것입니다~~~~~~~~~~~~~~

위 내용은 Java에서 Object 클래스에 null 매개변수 생성자가 필요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 Excel办公网에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
가이드 : Xtreme Liteos 7 PC에서 다운로드 및 설치가이드 : Xtreme Liteos 7 PC에서 다운로드 및 설치Apr 13, 2025 am 12:31 AM

Xtreme Liteos 7은 무엇입니까? 이 Lite 시스템에 관심이있는 경우 Windows 7 Xtreme Liteos ISO를 다운로드하여 PC에 설치하는 방법은 무엇입니까? 조작은 어렵지 않으며이 Windows 7 Lite OS를 얻기 위해 Php.cn의 안내서를 찾으십시오.

Microsoft Edge WebView2 런타임 수정 11/10에서 시작하지 못했습니다.Microsoft Edge WebView2 런타임 수정 11/10에서 시작하지 못했습니다.Apr 13, 2025 am 12:30 AM

Windows 사용자는 Microsoft Edge WebView2 런타임을 설치하거나 업데이트하려고 할 때 "Microsoft Edge WebView2 런타임 설치 프로그램"오류가 발생하지 않을 수 있습니다. Php.cn 의이 게시물은 문제를 해결하는 방법을 소개합니다.

가이드 - Windows 11 용 스레드 다운로드 및 두 가지 방법으로 설치가이드 - Windows 11 용 스레드 다운로드 및 두 가지 방법으로 설치Apr 13, 2025 am 12:29 AM

Instagram 스레드는 무엇입니까? Windows에서 스레드를 사용할 수 있습니까? Windows에 스레드를 설치하는 방법은 무엇입니까? 이 질문에 대한 답을 찾으려면 계속 읽으십시오. 이 게시물에서 Php.cn 은이 온라인 소셜 미디어 서비스에 대한 많은 세부 사항을 2.

수리 안내서 : Outlook Data 파일이 최대 크기에 도달했습니다.수리 안내서 : Outlook Data 파일이 최대 크기에 도달했습니다.Apr 13, 2025 am 12:28 AM

"Outlook Data File이 최대 크기에 도달 한"문제에 도달 한 적이 있습니까? Outlook 데이터 파일이 가득 찬 경우 어떻게해야합니까? 이제 Php.cn 에서이 게시물을 읽고이를 해결할 수있는 몇 가지 방법을 찾으십시오.

정확한 단계로 파티션 스타일을 확인하는 방법을 배우십시오정확한 단계로 파티션 스타일을 확인하는 방법을 배우십시오Apr 13, 2025 am 12:27 AM

디스크의 파티션 스타일이 무엇인지 아십니까? MBR 또는 GPT입니까? 이제 Php.cn 의이 게시물은 Windows 11/10에서 파티션 스타일을 확인하는 방법을 보여줍니다.

Microsoft 365에서 문서를 삭제하는 방법은 무엇입니까? 가이드를 따르십시오!Microsoft 365에서 문서를 삭제하는 방법은 무엇입니까? 가이드를 따르십시오!Apr 13, 2025 am 12:25 AM

온라인과 오프라인으로 저장된 Microsoft 365에서 문서와 파일을 삭제해야합니다. Php.cn 의이 게시물은 Microsoft 365에서 문서를 삭제하는 방법을 소개합니다. 이제 계속 읽으십시오.

Windows 11에서 사전 설치된 앱을 제거하는 방법 찾기Windows 11에서 사전 설치된 앱을 제거하는 방법 찾기Apr 13, 2025 am 12:24 AM

Windows 11 컴퓨터에서 사전 설치된 앱을 사용하고 싶지 않습니까? 당신은 그들을 제거하도록 선택할 수 있습니다. 이 게시물에서 Php.cn Software는 Windows 11에서 사전 설치된 앱을 제거하는 방법에 대한 쉽고 효과적인 가이드를 소개합니다.

OneDrive에 연결하는 데 문제가 있었습니까? 쉽게 처리 할 수 ​​있습니다OneDrive에 연결하는 데 문제가 있었습니까? 쉽게 처리 할 수 ​​있습니다Apr 13, 2025 am 12:23 AM

대부분의 사람들은 OneDrive를 사용하여 중요한 파일을 저장하고 백업합니다. 그러나 로그인하려고 할 때“OneDrive에 연결하는 데 문제가 있다는 오류가 있었다”는 오류 메시지를받을 수 있습니다. 일반적으로 인터넷에 액세스 한 경우 문제를 해결하는 방법은 무엇입니까? thi

See all articles

핫 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尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.