✨
Java
  • 자바의 역사
  • Ch1
    • Before Start Java
      • History of Java
      • Feature of Java
      • API Documentation
      • Hello World!
      • eclipse shortcut
      • Eclipse IDE
      • GitHub to eclipse
  • Ch2
    • Variable
      • Variable
    • Variable Type
    • Character and String
    • Primitive type and range
    • printf and formatter
    • Scanner
    • Overflow of Int
    • Transition between different variable types
    • Object Array
  • CH3
    • Operator
  • CH4
    • 조건문과 반복문
    • if statement
    • switch
    • Math.random()
    • for statement
    • while statement
    • break, continue, named iterated statement
  • CH5
    • Array
    • 배열 활용
    • String Array
  • OOP
    • Intro
  • Class and Object
  • Make multiple Classes in one file
  • How to use Object
  • Object Array
  • Variable type according to declared location
  • Class Variable and Instance Variable
  • Method
  • Call Stack
  • Parameter
  • Static method(Class method) and Instance method
  • (Method)Overloading
  • Constructor
  • Constructor this()
  • Reference type variable "this"
  • Initialize variable
  • Inheritance
  • Composite
  • Single Inheritance, Object Class
  • (Method)Overriding
  • super, super()
  • package, class path
  • import, static import
  • modifier
  • access modifier
  • Encapsulation
  • Polymorphism
  • reference type transition
  • instanceof operator
  • Parameter polymorphism
  • Multiple object using one array
  • Abstract Class, Abstract Method
  • Creating Abstract Class
  • Interface
  • Interface Polymorphism
  • Interface Pros
  • Default method and static method
  • Inner Class
  • Anonymous Class
  • java.lang package and useful class
    • Object class
    • hashCode(), toString()
    • String class
    • StringBuffer class
    • StringBuilder class
    • Math class
    • Wrapper class
    • Number class
    • String to Number, String to Wrapper class
    • Auto-boxing and (auto)Unboxing
  • Collection Framework
    • Collections framework
    • List, Set, Map Interface
    • List의 removeAll() 과 clear() 비교
    • List Interface - ArrayList
    • How to view Java API source
    • List Interface - LinkedList
    • Stack and Queue
    • Iterator, ListIterator, Enumeration
    • Array
    • Comparator와 Comparable
    • Stack
    • String
    • String + char = String
    • String.toCharArray()
    • BufferedReader / BufferWriter
    • Scanner로 String 입력 - next( )와 nextLine( )
    • 공백없이 2차원배열 데이터 String으로 한번에 한줄씩 입력받기(문자/숫자)
    • 공백을 사이에 두고 빠른 2차원 배열 입출력
    • arr[index++]과 arr[index] index++의 차이
    • int와 long의 차이
    • Untitled
    • 타입 간의 변환
    • Array 와 ArrayList
    • valueOf()
    • Char
    • 변수, 객체 초기화(초기값 설정)
  • error troubleshooting
    • No enclosing instance of type
    • ASCII Code Table
    • java.lang.NumberFormatException
    • No enclosing instance..
  • reference
    • String을 생성하는 2가지 방법과 차이점
    • StackOverflowError(스택, 힙 메모리)
    • swtich-case 반복문
Powered by GitBook
On this page

Was this helpful?

  1. error troubleshooting

No enclosing instance of type

static 함수에서 참조하려는 클래스가 닫혀 있어 접근하지 못한다는 오류!

보통 내부에 있는 클래스를 static 함수가 참조할 때 에러가 난다.

static 변수가 붙은 변수나 클래스는 클래스가 메모리에 올라갈 때 자동으로 생성된다. 아래와 같은 경우 Myani가 생성되기 전에 Anidog 클래스를 사용하기 때문이다. 상위 클래스에 포함된 하위 클래스는 미리 생성하고 나서 사용할 수 있다.

Anidog 클래스 객체 생성해서 사용하고 싶은데 main은 생성이 됐는데 Anidog는 아직 생성이 아나 되서 사용할 수 없는 경우.

Main 내부 클래스를 static으로 하지 않았을 때 에러가 나는 이유 main함수에서 클래스를 만들때, Main은 메모리에 올라가서 실행(?)을 하는데 static이 붙은 변수나 클래스는 클래스가 메모리에 올라갈 때 자동으로 생성된다.

public class Myani{
    class Anidog{
        String kind;
        int age;
        String name;
        Anidog(){}
        public void print(){}
    }
    
    public static void main(String[] args){
        Anidog ad = new Anidog();
        ad.kind = "강아지";
        ad.age = 1;
        ad.name = "소리";
        ad.print();
    }
}

Previous변수, 객체 초기화(초기값 설정)NextASCII Code Table

Last updated 3 years ago

Was this helpful?