public class 

  • 다른 패키지에서도 사용 가능 하게

 

이클립스 단축키 정리하기!

 

inner class

처음부터 가지고 있다. 

Member Inner class

package inner;

class Outter{
	private int num = 0;
	private static int num2 = 3;
	
	class Inner{
		public void disp() {
			System.out.println(num);
			System.out.println(num2);
		}
	}
}
public class MemberInnerTest {
	public static void main(String[] args) {
		Outter o = new Outter();
		Outter.Inner inner = o.new Inner();
		inner.disp();
	}
}

 

		Outter o = new Outter();
		Outter.Inner inner =o.new Inner();
Outter.Inner inner = new Outter().new Inner();

두개는 같은 소스 코드이다. 

static inner clas

package inner;


class Outter{
	private static int num = 0;
	private static int num2 = 3;
	
	static class Inner{
		public void disp() {
			System.out.println(num);
			System.out.println(num2);
		}
	}
}
public class MemberInnerTest {
	public static void main(String[] args) {
		Outter.Inner a = new Outter.Inner();
		a.disp();
	}
}

 

local class

package inner;


class Outter{
	private static int num = 0;
	private static int num2 = 3;
	
	public void Output() {
		class Inner{
			public void disp() {
				System.out.println(num);
				System.out.println(num2);
			}
		}
		Inner in = new Inner();
		in.disp();
	}
}
public class MemberInnerTest {
	public static void main(String[] args) {
		Outter o = new Outter();
		o.Output();
	}
}

 

Anonymous inner class

package inner;
abstract class Abs{
	abstract void disp();	// "disp"
}

class Outter{
	private static int num = 0;
	private static int num2 = 3;
	
	public void output(){
		new Abs() {
			@Override
			void disp() {
				System.out.println(num);
				System.out.println(num2);
			}
		}.disp();
	}
	
}
public class MemberInnerTest {
	public static void main(String[] args) {
		Outter out = new Outter();
		out.output();
	}
}

 

'study > JAVA 전문가' 카테고리의 다른 글

mysql 3  (0) 2021.12.17
DBMS  (0) 2021.12.15
자료구조 2 - 복습  (0) 2021.12.10
자료구조 1  (0) 2021.12.09
Wrapper Class, 제너릭, ,,  (0) 2021.12.08

+ Recent posts