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 |