包---如何引入包
语法:import 包;
比如:import java.awt.*;
引用的目的:使用这个包下面的类。
提出包之后,类的定义如下了。
访问权限的范围:
同类:所在类中可以访问这个成员变量。
class Dog
{
publicinta;
protectedString name;
String color;
privatefloatprice;
//同类访问成员变量
publicvoidab1()
{
System.out.println(a);
}
}
同包:同一个包类可以访问这个变量
看图可知,因为price是私人的,所以不能在主函数中被访问,不可以在同一包内被调用,只能在同一类中被调用。
在shenm包中建立一个公开类
在另一个包中只能访问publlic修饰的变量。
特征三----继承
package com.demo9_19_1;
//说明继承的重要性
public classdemo9_19_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
//小学生的类
public classPupil
{
//成员属性
private int age;
private String name;
private float fee;
//成员方法,交学费
public void pay(float fee)
{
this.fee = fee;
}
}
//初中生的类
class MiddleStu
{
//成员属性
private int age;
private String name;
private float fee;
//成员方法,交学费
public void pay(float fee)
{
this.fee = 0.8f * fee;
}
}
//大学生的类
class ColStu
{
//成员属性
private int age;
private String name;
private float fee;
//成员方法,交学费
public void pay(float fee)
{
this.fee = 0.5f * fee;
}
}
定义三中学生,小学生,初中生和大学生,但是有些属性是三个类共有的。
解决方法
继承可以解决代码的复用,
当多个类存在相同的属性和方法是,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只要通过extends语句来申明继承父类
class 子类 extends 父类 这样,子类就会自动的拥有父类定义的属性和方法。
package com.demo9_19_1;
//说明继承的重要性
public classdemo9_19_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pupil p1 = new Pupil();
p1.printName();
}
}
//学生父类
class Stu
{
//成员属性
public int age;
public String name;
public float fee;
//成员方法---打印名字
public void printName()
{
System.out.println("名字" + this.name);
}
}
//小学生的子类
class Pupil extends Stu
{
//成员方法,交学费
public void pay(float fee)
{
this.fee = fee;
}
}
//初中生的子类
class MiddleStu extends Stu
{
//成员方法,交学费
public void pay(float fee)
{
this.fee = 0.8f * fee;
}
}
//大学生的子类
class ColStu extends Stu
{
//成员方法,交学费
public void pay(float fee)
{
this.fee = 0.5f * fee;
}
深入讨论
1,父类的哪些属性(变量)方法是可以变子类继承的。
2,结论如下
注意事项
1,子类最多只能继承一个父类
2,Java所有的类都是Object类的子类
3,在做开发的时候可以多查JDK帮助文档
案例,小窗口的显示
package com.demo9_19_1;
import javax.swing.*;
public classchuankou extends JFrame {
public static void main(String []args)
{
chuankoudemo2= newchuankou();
}
public chuankou()
{
this.setVisible(true);
this.setSize(200, 200);
}
}
结果: