자바 학습 노트 의 대상 및 클래스

11409 단어 Java
자바 는 대상 을 대상 으로 하 는 언어 로 대상 을 대상 으로 하 는 언어의 일부 특징 을 가지 고 있다.다음 기본 개념 지원:-다 태 성(Polymorphism)-계승(Inheritance)-봉인(Encapsulation)-추상(Abstraction)-클래스(Classes)-대상(Objects)-실례 화(Instance)-방법(Method)-메시지 해석(Message Parsing)
이 블 로그 에 서 는 주로 유형 과 대상 의 개념 을 탐구한다.
대상(Object):대상 은 상태 와 행 위 를 가지 고 있 습 니 다.예 를 들 어 개 한 마 리 는 색깔,이름,품종 등 속성 을 가지 고 흔 들 림,개 짖 음 과 먹 는 행위 도 가진다.대상 은 클래스 의 인 스 턴 스 입 니 다.
클래스(Class):클래스 는 행동 이나 상 태 를 설명 하 는 템 플 릿 이나 청사진 으로 정의 할 수 있 습 니 다.
1.자바 의 대상(Objects)
현실 생활 에서 우 리 는 차,개,인류 등 많은 대상 을 쉽게 찾 을 수 있다.이런 대상 들 은 모두 대응 하 는 상태 와 행 위 를 가진다.
현실 생활 의 대상 에 비해 소프트웨어 의 대상 도 비슷 한 특징 이 있다.그것들 도 상태 와 행동 이 있다.다만 소프트웨어 의 상 태 는 필드(fields)에 저 장 된 것 이 고 행 위 는 방법(methods)을 통 해 나타난다.
2.자바 의 클래스(Classes)
클래스 는 하나의 대상 을 만 드 는 청사진 입 니 다.
클래스 생 성 은 다음 과 같 습 니 다:
public class Dog{
 String breed;
   int ageC
   String color;

   void barking(){
   }

   void hungry(){
   }

   void sleeping(){
   }
}

구조 함수(Constructors)
모든 종 류 는 하나의 구조 함수 가 있다.만약 우리 가 하나의 클래스 에 구조 함 수 를 명확 하 게 쓰 지 않 았 다 면 자바 컴 파일 러 는 이 클래스 에 기본 적 인 구조 함 수 를 만 들 것 입 니 다.
새 대상 이 생 성 될 때마다 최소한 하나의 구조 함수 가 호출 됩 니 다.구조 함 수 는 반드시 클래스 와 동명 이 어야 한다.하나의 종 류 는 여러 개의 구조 함수 가 있 을 수 있다.
public class Puppy{
   public Puppy(){
   }

   public Puppy(String name){
      // This constructor has one parameter, name.
   }
}

생 성 대상
앞에서 언급 한 바 와 같이 클래스 는 대상 에 게 청사진 을 제공 했다.그래서 대상 은 클래스 에서 만 들 어 졌 습 니 다.자바 에 서 는new키워드 로 새 대상 을 만들어 야 합 니 다.
생 성 대상 절차:-성명(Declaration)-실례 화(Instantiation):new키워드-초기 화(Initialization):new키워드 다음 에 구조 함수 호출 및 초기 화.
예:
public class Puppy{

   public Puppy(String name){
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name ); 
   }

   public static void main(String []args){
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

실행 결과:
Passed Name is :tommy

인 스 턴 스 변수 와 방법 에 접근 합 니 다.
인 스 턴 스 변수 와 방법 에 접근 하 는 것 은 대상 을 만 드 는 것 을 통 해 이 루어 집 니 다.예:
/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

완전한 예:
public class Puppy{

   int puppyAge;

   public Puppy(String name){
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name ); 
   }

   public void setAge( int age ){
       puppyAge = age;
   }

   public int getAge( ){
       System.out.println("Puppy's age is :" + puppyAge ); 
       return puppyAge;
   }

   public static void main(String []args){
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge ); 
   }
}

실행 결과:
Name chosen is :tommy
Puppy's age is :2
Variable Value :2

원본 파일 의 설명 규칙
원본 파일 에서 클래스 성명,import문장,package문장 은 다음 과 같은 규칙 을 따라 야 합 니 다.-원본 파일 마다 하나의public종류 만 있 을 수 있 습 니 다.-하나의 원본 파일 에 여러 개의 비public클래스 가 있 을 수 있 습 니 다.-public클래스 이름 은 원본 파일 이름과 일치 해 야 하 며 원본 파일 이름 은 접미사.java로 끝내 야 합 니 다.-하나의 클래스 가 특정한 가방 에 정의 된다 면package문 구 는 원본 파일 의 첫 줄 에 있어 야 합 니 다.-원본 파일 에import문구 가 존재 한다 면package문구 와 클래스 성명 사이 에 두 어야 합 니 다.원본 파일 에package문구 가 없다 면 원본 파일 의 첫 줄 에 두 어야 합 니 다.-import문장 과package문장 은 원본 파일 의 모든 종류 에 유효 하 다.같은 원본 파일 에 서 는 서로 다른 종류의 가방 에 설명 할 수 없습니다.
클래스 는 몇 가지 서로 다른 방문 등급 이 있 고 클래스 도 서로 다른 유형 으로 나 뉜 다.예 를 들 어abstract류,final류 등 이다.이 몇 가지 종 류 를 제외 하고 자바 에는 특별한 종류 가 있 는데Inner류 와Anonymous류 가 있다.
자바 패키지
그것 은 클래스 와 인터페이스의 분류 에 간편 한 방법 을 제공 했다.자바 개발 애플 리 케 이 션 에 서 는 수백 개의 클래스 와 인터페이스 가 자주 쓰 인 다 는 것 을 잘 알 고 있 습 니 다.그러면 이 를 분류 하면 우리 의 작업 이 간편 해 질 것 입 니 다.
Import 구문
자바 에 서 는 패키지 이름과 클래스 를 포함 하 는 완전히 합 격 된 이름 을 제공 하면 컴 파일 러 는 소스 코드 나 클래스 로 쉽게 찾 을 수 있 습 니 다.Import문 구 는 바로 컴 파일 러 에 적당 한 위 치 를 제공 하 는 방법 이다.
예 를 들 어 다음 줄 의 코드 는 컴 파일 러 가java_installation/java/io디 렉 터 리 에 있 는 모든 종 류 를 불 러 오 는 것 을 알려 주 는 것 입 니 다.
import java.io.*;

간단 한 사례 연구
Employee.java 파일
import java.io.*;

public class Employee{

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name){
      this.name = name;
   }
   // Assign the age of the Employee to the variable age.
   public void empAge(int empAge){
      age =  empAge;
   }
   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* Assign the salary to the variable salary.*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* Print the Employee details */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

EmployeTest.java 파일
import java.io.*;

public class EmployeeTest{

   public static void main(String args[]){
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

컴 파일:
C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0

좋은 웹페이지 즐겨찾기