>Java >java지도 시간 >Java를 처음 배우는 초보자를 위한 메모(2)

Java를 처음 배우는 초보자를 위한 메모(2)

黄舟
黄舟원래의
2016-12-20 13:46:541334검색


Java를 시작하는 것은 생각보다 훨씬 간단합니다. 지금까지는 Java의 기본 구문 구조를 이해하고 있지만 어떤 언어든 깊이 있게 공부하려면 시간과 연습이 필요하다는 것을 알고 있습니다. 🎜>
애플릿은 브라우저 측에서 실행될 수 있는 Java로 작성된 코드입니다. 애플릿과 애플리케이션의 명백한 차이점은 C 프로그램과 같은 애플리케이션이 main() 프로그램에서 시작된다는 것입니다. 실행이 시작되고 애플릿이 더 복잡해집니다. 정확히 얼마나 복잡한지는 모르겠지만 점차 이해해 나가겠습니다. Applet의 중요한 속성은 HTML의 값을 Applet에 매개변수로 전달할 수 있다는 것입니다(getParameter()를 통해 매개변수 값 가져오기). 이러한 방식으로 다른 효과를 생성하기 위해 Java 프로그램을 다시 컴파일할 필요가 없습니다. , HTML의 매개변수 값만 수정하면 됩니다. HTML 코드도 동적으로 생성할 수 있으므로 웹페이지의 동적 효과를 원하는 대로 제어할 수 있습니다.

에는 세 가지 주요 방법이 있습니다. 애플릿 라이프 사이클 :init, start, stop
init(): 애플릿 초기화를 담당합니다. 이 메소드는 전체 애플릿 라이프 사이클 동안 한 번만 실행됩니다. 델파이의 OnCreate() 이벤트와 동일합니다.
start() : init()를 호출한 후 시스템은 자동으로 start()를 호출하며, 이 메서드는 현재 창이 다시 활성화될 때마다 호출됩니다. 이는 Delphi의 OnShow() 이벤트와 유사합니다.
stop(): 이 메소드는 사용자가 애플릿이 있는 페이지를 떠난 후에 호출됩니다. 이는 사용자가 애플릿에 주의를 기울이지 않을 때 시스템 운영 효율성에 영향을 주지 않도록 일부 리소스의 작업을 중지할 수 있도록 하며 이 메서드를 인위적으로 제거할 필요가 없습니다. 이 메서드는 OnClose()와 유사합니다. 델파이에서 이벤트.

다음은 HelloWorld의 애플릿 버전입니다
파일 이름: HelloWorld.java

import java.applet.Applet;
import java.awt.Graphics;

public 클래스 HelloWorld는 애플릿을 확장합니다
{
String title;
public void init(){
title="Hello World"
}

public void 페인트( 그래픽 g)
{
g.drawString(title,50,20);
}

}

프로그램에 주요 기능이 없음을 알 수 있습니다. , 그러면 어떻게 실행됩니까? Applet은 브라우저 환경에서 실행되므로 HTML 파일에서 호출해야 합니다. 사용해야 하는 관련 태그는 먼저 HTML 파일 test.htm을 만듭니다. , 소스 코드는 다음과 같습니다.


첫 번째 애플릿은 다음과 같습니다.








이 파일을 같은 위치에 배치하세요. HelloWorld.java라는 파일을 디렉터리에 두고 HelloWorld.java를 컴파일한 후 test.htm을 클릭하여 직접 열면 AppletViewer 명령인 AppletViewer test.htm을 사용하여 Applet을 직접 실행하는 것을 볼 수 있습니다. 브라우저 없이.

다음 프로그램은 Java Applet이 위에서 소개한 메서드를 수명 주기 전반에 걸쳐 어떻게 호출하는지 이해하는 데 도움이 됩니다.

파일 이름: StartStop.java
import java. awt .*;
import java.applet.*;

공용 클래스 StartStop 확장 Applet
{
StringBuffer 메시지;
public void init()
{
message =new StringBuffer("초기화 완료...");
}

public void start()
{
message.append("시작됨...");
}

public void stop()
{
message.append("Stopped...");
}

public void 페인트(그래픽 g)
{
g.drawString(message.toString(),150,50);
}

}

작동 방법은 위와 동일합니다.(본 프로그램은 < 기계산업 ;Java Concise Tutorial>을 참고하세요)

C 언어와 달리 Java를 사용하면 GUI를 구현하는 것이 훨씬 쉽습니다. Java의 AWT는 순수한 객체 지향 언어이기 때문에 Delphi의 구성 요소와 마찬가지로 우리가 호출할 수 있는 다양한 인터페이스 요소를 제공합니다. 다음은 Java의 GUI 객체와 Delphi

Java Delphi

Button TButton
Canvas TCanvas
Checkbox TCheckbox
CheckboxGroup TRadioGroup
의 GUI 개체 비교표입니다. Choice TComboBox
Label TLabel
TextField TEdit
TextArea TMemo

그러나 JDK는 시각적 RAD(Rapid Application Development) 개발 도구가 아니며 객체 사용에는 드래그 앤 드롭만 필요할 수 없습니다. Delphi와 마찬가지로 이동만으로 충분하지만 호출 코드를 작성해야 합니다. 그러면 문제가 발생합니다. 요소가 많지 않은 경우 Java가 자동으로 레이아웃되도록 하려면 어떻게 해야 합니까? 레이아웃) 그러나 요소가 많거나 애플리케이션의 요구 사항에 따라 요소를 배치해야 하는 경우 패널(Panel)을 사용해야 합니다. 델파이에서는 패널에도 해당 구성 요소(TPanel)가 있지만 주로 그렇습니다. 인터페이스를 분할하고 수행하는 데 사용됩니다. 대략적인 레이아웃과 정확한 위치 지정은 개발자의 수동 조정이 필요합니다. Java에서는 Panel을 위치 지정에만 사용할 수 있는데, 이는 아직 배우지 못한 것일 수 있습니다.

시작한 후에는 객체의 개념에 대해 알아볼 시간입니다.
Date라는 사용자 정의 데이터 유형이 다음과 같이 Java에서 생성되었다고 가정합니다.
public class Date{
int day;
int Month;
int year;
}
변수를 선언하는 다음 세 가지 명령문에서 Java가 변수에 메모리를 할당할 때 차이점이 있습니까?
(1) int i;
(2) Date mybirth;
(3) Date mybirth=new Date();

분명히 있고, 분포는 다음과 같습니다.
(1) Java는 정수 변수의 메모리를 정수 i에 보통 2바이트로 할당합니다.
(2) Java는 Date 클래스의 인스턴스 변수 mybirth를 선언하고 이에 대한 저장 공간을 할당하지만 여기에 저장되는 저장 공간은 저장 공간 단지 참조이거나 주소일 뿐이므로 현재 주소에는 아무것도 없으므로 이 인스턴스 변수를 사용하거나 해당 멤버를 참조할 수 없습니다.
(3) Java는 Date 클래스의 인스턴스 변수 mybirth를 생성하고 해당 멤버 변수에 충분한 저장 공간을 할당한 다음 마지막으로 이 저장 공간에 대한 참조, 즉 이 저장 공간의 첫 번째 주소를 반환하면 됩니다. mybirth, 즉 mybirth.day, mybirth.month, mybirth.year와 같은 이 인스턴스 변수의 각 멤버에 액세스하기 위한 첫 번째 주소입니다.
기본 데이터 유형(예: boolean, byte, short, char, int, long, flat, double)의 변수를 선언하면 시스템이 자동으로 변수에 메모리를 할당합니다. 그런데 문자열이나 사용자 정의 변수가 선언되면 시스템이 즉시 메모리를 할당하지 않습니다. 왜 이런 일이 발생하는 걸까요?
문자열과 사용자 정의 변수가 모두 A 클래스로 선언되었기 때문입니다. 클래스의 변수는 더 이상 데이터가 아니라 데이터에 대한 참조입니다. 즉, mybirth는 클래스의 인스턴스에 대한 포인터로 간주될 수 있으며 주소가 여기에 저장됩니다. 이해하다. .
더 깊이 들어가 보면, 클래스의 인스턴스 변수 값은 포인터이고 이 포인터는 클래스의 인스턴스를 가리키므로 분명히 다른 이름을 가진 여러 클래스의 인스턴스 변수를 정의하고 모두 하나의 인스턴스를 가리킬 수 있습니다. 예를 들어
University u=new University();//University 클래스의 인스턴스 변수 u를 정의하고 여기에 객체의 저장 공간을 할당한다
University u2=u;//인스턴스 변수 u2가 정의되고 u의 값이 u2에 할당됩니다.
그럼 분명히 u2와 u는 같은 주소를 가리키기 때문에 이름만 다를 뿐 실제로는 같은 것입니다.

제 생각엔요. 이 점을 명확히 하는 것이 여전히 중요합니다. 이러한 자료구조는 프로그래머가 꼭 알아야 할 내용입니다.

위 내용은 Java를 처음 배우는 분들을 위한 메모(2) 내용입니다. 자세한 내용은 PHP 중국어 홈페이지(www.php)를 참고해주세요. .cn) !


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