Java
class ClassA {
classA(){
System.out.print('A');
this.prn();
}
void prn() {
System.out.print('B');
}
}
class ClassB extends ClassA {
ClassB() {
super();
System.out.print('D');
}
void prn() {
System.out.print('E');
}
void prn(int x){
System.out.print(x);
}
}
public class Test {
public static void main(String[] args){
int x = 7;
ClassB cal = new ClassB();
cal.prn(x);
}
}
상속
public abstract class Vehicle {
String name;
public abstract String getName(String val);
public String getName() {
return "Vehicle name: " + name;
}
}
public class Car extends Vehicle {
private String name;
public Car(String val){
name = super.name = val;
}
@Override
public String getName(String val) {
return "Car name : " + val;
}
public String getName(byte[] val){
return "Car name : " + val;
}
}
public class Test {
public static void main(String[] args) {
Vehicle obj = new Car("Spark");
System.out.println(obj.getName());
}
}
상속2
class SuperObject {
public void draw() {
System.out.println("A");
draw();
}
public void paint() {
System.out.print('B');
draw();
}
class SubObject extends SuperObject {
public void paint() {
super.paint();
System.out.print('C');
draw();
}
public void draw() {
System.out.print('D');
}
}
public class Test{
public static void main(String[] args){
SuperObject a = new SubObject();
a.paint();
a.draw();
}
}
실행 순서 나열하시오
class Parent {
int x, y;
Parent(int x, int y) {//1
this.x = x;
this.y = y;
}
int getX() {//2
return x*y;
}
}
class Child extends Parent {
int x;
Child(int x){//3
super(x+1, x);
this.x =x;
}
int getX(int n){//4
return super.getX()+n;
}
}
public class Main{
public static void main(String[] args){//5
Parent parent = new Child(10);//6
System.out.println(parent.getX());//7
}
}
예외처리 2024-3회
public class Main{
public static void main(String[] args){
int sum = 0;
try{
func();
}catch(NullPointerException e){
sum +=1;
}catch(Exception e) {
sum+=10;
}finally {
sum+=100;
}
static void func() throws Exception {
throw new NullPointerException();
}
}