java四大特征(2)

包---如何引入包

 语法: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);

    }

}

 

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值