Java를 시작하는 것은 생각보다 훨씬 간단합니다. 지금까지 저는 이미 Java의 기본 구문 구조를 이해했습니다. 하지만 어떤 언어든 깊이있게 공부하려면 시간과 연습이 필요하다는 것을 알고 있습니다.
애플릿은 브라우저 측에서 실행할 수 있는 Java로 작성된 코드입니다. 애플릿과 애플리케이션의 명백한 차이점은 애플리케이션입니다. 예를 들어 C 프로그램은 main() 프로그램에서 실행되기 시작하는데, 애플릿은 더 복잡하기 때문에 정확히 얼마나 복잡한지는 모르겠지만 점차 이해하게 될 것입니다. Applet의 중요한 속성은 HTML의 값을 Applet에 매개변수로 전달할 수 있다는 것입니다(getParameter()를 통해 매개변수 값 가져오기). 이렇게 하면 다른 효과를 생성하기 위해 Java 프로그램을 다시 컴파일할 필요가 없습니다. , HTML 매개변수 값만 수정하면 됩니다. HTML 코드도 동적으로 생성될 수 있으므로 원하는 대로 웹 페이지의 동적 효과를 제어할 수 있습니다.
애플릿 수명 주기에는 init, start 및 stop이라는 세 가지 주요 메서드가 있습니다.
init(): 애플릿 초기화를 담당합니다. 이 메소드는 전체 애플릿 수명 주기 동안 한 번만 실행됩니다. 이는 Delphi의 OnCreate() 이벤트와 동일합니다.
시스템이 init()를 호출한 후 자동으로 start()를 호출하고 현재 창이 다시 활성화될 때마다 이 메서드가 호출됩니다. 이는 Delphi의 OnShow() 이벤트와 유사합니다.
stop(): 이 메소드는 사용자가 애플릿이 있는 페이지를 떠난 후에 호출됩니다. 이는 사용자가 애플릿에 주의를 기울이지 않을 때 시스템 운영 효율성에 영향을 주지 않도록 일부 리소스의 작업을 중지할 수 있도록 하며 이 메서드는 OnClose()와 유사합니다. 델파이에서 이벤트.
다음은 HelloWorld 애플릿 버전의 파일 이름입니다
. HelloWorld.java
import java.applet.Applet;
import java.awt.Graphics;
공용 클래스 HelloWorld가 애플릿을 확장합니다.
{
문자열 제목;
공개 무효 초기화(){
title="안녕하세요 월드";
}
공공 보이드 페인트(그래픽 g)
{
g.drawString(제목, 50, 20);
}
}
프로그램에 main 함수가 없는 것을 알 수 있는데 어떻게 실행되나요? 애플릿은 브라우저 환경에서 실행되기 때문에 HTML 파일에서 호출해야 하는 관련 태그는 < 입니다. Applet> 태그를 사용하여 먼저 HTML 파일 test.htm을 생성합니다. 소스 코드는 다음과 같습니다.
<html>
<본문>
여기 내 첫 번째 애플릿이 있습니다:
<br>
<애플릿 코드=HelloWorld.class 너비=650 높이=500>
</applet>
</APPLET>
</body>
</html>
이 파일을 HelloWorld.java와 같은 디렉토리에 넣은 후 HelloWorld.java를 컴파일하고 test.htm을 클릭하여 바로 열면 AppletViewer 프로그램이 시작되는 것을 볼 수 있다. 또는 AppletViewer 명령인 AppletViewer test를 사용하면 된다. htm 브라우저 없이 애플릿을 직접 실행할 수도 있습니다.
다음 프로그램은 Java Applet이 수명 주기 동안 위에서 소개한 메서드를 호출하는 방법을 더 잘 이해하는 데 도움이 될 수 있습니다.
파일 이름: StartStop.java
import java.awt.*;
import java.applet.*;
공용 클래스 StartStop이 애플릿을 확장합니다.
{
StringBuffer 메시지;
공개 무효 초기화()
{
message=new StringBuffer("초기화 완료...");
}
공개 무효 시작()
{
message.append("시작되었습니다...");
}
공개 무효 중지()
{
message.append("중지되었습니다...");
}
공공 무효 페인트(그래픽 g)
{
g.drawString(message.toString(), 150, 50);
}
}
조작 방법은 위와 동일합니다. (이 프로그램은 기계산업 <Java Concise Tutorial>을 참고하세요.)
C언어와 달리 Java를 이용하여 GUI를 구현하는 것이 훨씬 쉽습니다. Java의 AWT는 순수한 객체 지향 언어이기 때문에 Delphi의 구성 요소와 마찬가지로 우리가 호출할 수 있는 다양한 인터페이스 요소를 제공합니다. 다음은 Java의 GUI 객체와 Delphi의 해당 구성 요소를 비교한 표입니다.
자바 델파이
버튼 T버튼
캔버스 T캔버스
체크박스 TCheckbox
체크박스그룹 TRadioGroup
초이스 T콤보박스
라벨 TLabel
TextField TEdit
TextArea TMemo
그러나 JDK는 시각적인 RAD(Rapid Application Development) 개발 도구가 아니며 Delphi처럼 드래그 앤 시프트로만 개체를 사용할 수 없으며 호출 코드를 작성해야 합니다. 내 요구 사항에 따라 인터페이스에 요소를 배치합니까? 요소가 많지 않을 때 Java가 자동으로 레이아웃(레이아웃)하도록 할 수 있습니다. 그러나 요소가 많거나 요소의 요구 사항에 따라 요소를 배치해야 하는 경우입니다. 응용 프로그램을 사용하려면 패널(Panel)을 사용해야 합니다. 패널에는 델파이에도 해당 구성 요소(TPanel)가 있지만 주로 인터페이스를 분할하고 대략적인 레이아웃을 만드는 데 사용됩니다. Java는 Panel을 사용하여 위치를 지정해야만 사용할 수 있는데 아직 배우지 못한 것 같습니다.
시작한 후에는 객체의 개념에 대해 알아볼 차례입니다.
Java에서 Date라는 사용자 정의 데이터 유형이 다음과 같이 생성되었다고 가정합니다.
공개 수업 날짜{
하루;
월;
연도;
}
그러면 변수를 선언하는 다음 세 개의 명령문에 대해 Java가 메모리를 할당할 때 차이점이 있습니까?
(1) 내부 i;
(2) 출생일;
(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)의 변수를 선언하면 시스템은 자동으로 변수에 메모리를 할당합니다. 그러나 문자열이나 사용자 정의 변수가 선언되면 시스템은 이에 대해 즉시 메모리를 할당하지 않습니다.
이는 문자열과 사용자 정의 변수가 모두 클래스로 선언된 클래스의 범주에 속하기 때문입니다. 더 이상 데이터 조각이 아니라 데이터에 대한 참조입니다. 즉, mybirth는 클래스의 인스턴스에 대한 포인터로 간주될 수 있으며 그 안에 주소가 저장됩니다.
더 깊이 들어가 보면 클래스의 인스턴스 변수 값은 포인터이고 이 포인터는 클래스의 인스턴스를 가리키므로 분명히 다른 이름을 가진 여러 클래스의 인스턴스 변수를 정의하고 모두 하나의 인스턴스를 가리킬 수 있습니다. 예:
University u=new University();//University 클래스의 인스턴스 변수 u가 정의되고 여기에 객체의 저장 공간이 할당됩니다.
University u2=u;//인스턴스 변수 u2도 정의됩니다. , 그리고 u의 값이 여기에 할당됩니다. u2가 주어지면
분명히 u2와 u는 서로 다른 이름을 제외하고는 실제로 동일한 것입니다. 왜냐하면
이 점을 명확히 하는 것이 여전히 중요하다고 생각합니다. 이러한 데이터 구조는 프로그래머가 알아야 할 것입니다.