import java.util.*;
public class Main {//先定义一个类
String name;//字符串成员变量,
int age; //整型成员变量
public void kk()
{
System.out.println("父类的方法");
}
//普通方法
}
//两个类 一个父类,一个继承类,所以生成了两个class字节码文件
class zl extends Main{
//子类zl继承父类main
public static void main(String[] args){
/***
Main one=new Main();//对象的创建和使用,创建对象one
one.name="名字";
one.age=123;
实例化Main*/
Main ii = new zl ();
//向上转型,父类引用指向子类
ii.kk();
ii.name="子类定义后的:name";
ii.age=9999;
//子类的kk普通方法
method(ii);
//【要点】:ii是一个引用地址值,为什么可以用ii引用地址
//因为定义了一个对象类型的形参,在method这个方法里
}
public void kk()
{
System.out.println("子类的重写/覆盖方法");
}
//普通方法
//方法的定义
public static void method(Main param){
/***
使用Main作为参数,任何数据类型都可以作为参数
在什么情况下,参数可以填对象类型呢?
1、定义了一个类的时候可以使用
2、把父类继承过来的时候可以用
3、总之不用实例化就可以直接在普通方法里面写 类名(对象) 引用变量名
*/
System.out.println(param.name);
//字符串数据,这里的name是继承后赋值显示的数据
System.out.println("子类定义后的数字:"+param.age);
//数字,同上
}
}