1.ParentClass
package com.ohj.extend;
public class ParentClass {
private int n=10;// 부모클래스,본인클래스 내부에서만 사용 가능한 변수
boolean b = false;//같은 패키지 내부에서만 사용 가능한 변수
public char c='A';//어디서든 접근 사용 가능한 변수
protected String s ="test";//패키지가 달라도 자식 클래스에게는 허용
public ParentClass() {
System.out.println("PatrentClass()생성자 내부");
}
public ParentClass(int n) {
this.n=n;
System.out.println(n);
}
public void ParentMethod() {//어디서든 호출가능
System.out.println("PatrentMethod()생성자 내부");
}
void defaultClass(){//같은패키지내에서만 호출가능
System.out.println("defaultClass()생성자 내부");
}
private void privateMethod() {//부모 클래스 내부에서만 호출 가능
System.out.println("privateMethod()생성자 내부");
}
}
2.childClass
package com.ohj.extend;
//new ParentClass();
public class ChildClass extends ParentClass{//extends : 물려받는 것
public ChildClass() {
//super();//부모 클래스를 호출한다. 무조건 앞에다가 적어줘야한다.
super(250);
System.out.println("ChildClass 생성자 내부");
}
}
3.OtherClass
package com.ohj.extend.pkg;
// 다른 패키지에 있는 클래스를 사용 할 경우 반드시 import
import com.ohj.extend.ParentClass;
public class OtherClass extends ParentClass {
public OtherClass() {
System.out.println("OtherClass 생성자 내부");
}
public void ParentMethod() {//어디서든 호출가능
int s =100;
System.out.println("OtherClass PatrentMethod 내부"+100);
//부모로부터 받은 메소드를 자식이 고쳐서 쓸 수 있다. 이와 같은 기법을 override라고 부른다.
//자식클래스는 부모로부터 물려받은 메소드의 {}내부만 수정 가능하다.
}
}
4.MainClass
package com.ohj.extend;
import com.ohj.extend.pkg.OtherClass;
// 상속, 접근제한자에 관한 내용
public class MainClass {
public static void main(String[] args) {
//ParentClass pc= new ParentClass();
ChildClass cc= new ChildClass();//boolean b변수를 상속한다.
//OtherClass oc = new OtherClass();
}
}
1.InfoClass
package com.ohj.news;
public class InfoClass {
int a=10;
String s="info";
public InfoClass(){//클래스 생성자가 없을 때 기본 생성자를 만들어준다.
}
public InfoClass(int n,String s){
this.a = n;
this.s = s;
}
//오버라이드:상속된 자식이 내부를 고치는 것
public String toString(){
return a+" "+s;
}
public static void test(int n){
int c = a;
}
public static void t(){
int b = a;
}
}
2.MainClass
package com.ohj.news;
public class MainClass {
public static void main(String[] args) {
InfoClass ic1= new InfoClass();
InfoClass ic2= new InfoClass();
System.out.println(ic1.toString());
//com.ohj.news_ex.InfoClass@15db9742
System.out.println(ic2.toString());
//com.ohj.news_ex.InfoClass@6d06d69c 참조값 알아내기
System.out.println(ic1.getClass());
//class com.ohj.news_ex.InfoClass 어떤 객체의 타입을 알고 싶다.
}
}
':: IT > JAVA' 카테고리의 다른 글
20200113[JAVA] mysql 메소드, DB접속 및 쿼리 실행 (0) | 2020.03.28 |
---|---|
20200113[JAVA] 파일 다루기, 예외처리, 웹 문서파일 만들기 (0) | 2020.03.28 |
이클립스 스킨테마 변경 (0) | 2020.03.25 |
20200107 메소드, String (0) | 2020.03.24 |
20200106 JAVA arraylist 배열 (0) | 2020.03.23 |