子类与父类,super的使用,加载包的使用

一、父类、子类和继承

通过继承父类创建子类。。在父类中,被private修饰的属性和方法不能被子类继承

package 测试;
class Student {//父类
  String studentNo,name;
  Student(String sn,String nm)//父类构造器
  {
   studentNo=sn;
   name=nm;
  }
  void showInfo()
  {
   System.out.println("学号:"+studentNo);
   System.out.println("姓名:"+name);
  }
}
class Collegian extends Student{//子类
  String major;
  Collegian(String sn,String nm,String mj)//子类构造器
  {
   super(sn,nm);//只能用super指代父类构造器的名字,不能用父类构造器的名字。在构造器中没有this时,对super的调用必须在第一条
   major=mj;
  }
  void showInfo()
  {
   super.showInfo();
   System.out.println("专业:"+major);
  }
}
class sttext{
  public static void main(String args[])
  {
   Student st=new Student("12345","袁宝贝");
   st.showInfo();
   Collegian cst=new Collegian("23456","张佳佳","计算机");
   cst.showInfo();//方法覆盖:在子类中定义了和父类中同名的方法,且方法的参数和返回类型完全一致时,通过子类对象句柄cst访问showInfo()时,子类的同名方法优先于父类的同名方法
  }
}

二、super的使用

1、调用父类中被覆盖的方法。super.方法名(参数)
2、调用父类的构造器。super(参数)
3、访问父类中被隐藏的成员变量(在子类中定义的成员变量与父类中的成员变量重名)。super.成员变量名
4、只能用super指代父类构造器的名字,不能用父类构造器的名字。在构造器中没有this时,对super的调用必须在第一条

三、包

相同的类放在一个包中,不同的程序文件内的类也可以同属于一个包,只要在这些程序文件前都加上同一个包的说明即可。包各层之间用"."分隔。同一个包内的类可以相互调用,并且不用import

1、创建包

package pkg1[.pkg2[.pkg3[]……];
程序中如果有package语句,该语句一定是源文件中的第一条执行语句,它的前面只能有注释或空行。一个文件中最多只能有一条package语句。当编译并将源文件存盘后,要通过编译生成包;

package sttext.pck;//创建sttext项目下的pck包
public class Student{
 public String studentNo,name;
 public Student(String sn,String nm)
 {
  studentNO=sn;
  name=nm;
 }
 public void showInfo() {
  System.out.println("学号:"+studentNo);
  System.out.println("姓名:"+name);
 }
}

2、加载包:

java中通过import语句加载包中的类
import pkg1[.pkg2[.pkg3[]……].classname|*;

。。当需要从同一个包中加载一个类时,则在包名后跟着相应要加载的类名即可;
。。若需要从同一个包中加载多个类时,可以在包名后面跟“*”指代包中所有的类。
。。如果要从不同包中加载多个类,就需要用多个import语句,即一条import语句只能加载一个包的类

import sttext.pck.Student;//加载sttext项目下的pck包中的Student类
class tt{
 public static void main(String args[]) {
  Student s=new Student("12345","袁宝贝");
  s.showInfo();
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值