package pkg;
//main
public class p163 {
public static void main(String[] args) {
new Gextend(5);
}
}
//*
class Gbase{
Gbase(){
System.out.println("Gbase() before invoking methods:");
method_public();//DYNAMIC
method_protect();//DYNAMIC
method_default();//DYNAMIC
method_static();
method_final();
method_private();
System.out.println("Gbase() after invoked methods");
}
public void method_public() {
System.out.println("Gbase.method_public()");
}
protected void method_protect() {
System.out.println("Gbase.method_protected()");
}
void method_default() {
System.out.println("Gbase.method_default()");
}
static void method_static() {
System.out.println("Gbase.method_static()");
}
final void method_final() {
System.out.println("Gbase.method_final()");
}
private void method_private() {//is final function
System.out.println("Gbase.method_private()");
}
}
//**
class Gextend extends Gbase{
private int radius=1;
static int rad=2;
Gextend(int r){
radius=r;
System.out.print("Gextend(),radius="+radius);
}
public void method_public() {
System.out.println("Gextend.method_public(),radius="+radius);
}
protected void method_protect() {
System.out.println("Gextend.method_protected(),radius="+radius);
}
void method_default() {//will @override Gbase.method_default()
System.out.println("Gextend.method_default(), radius="+radius);
}
static void method_static() {
System.out.println("Gextend.method_static()"+rad);
//System.out.println("Gextend.method_static()"+radius);
//Cannot make a static reference to the non-static field radius
}
//final void method_final() NOT allowed for FINAL
private void method_private() {//is final function
System.out.println("Gextend.method_private()"+radius);
}
}
package pkg;
//main
public class p163 {
public st