java中包及修饰符的研究与应用

一、包(package

1、包的作用:

管理Java文件    解决同名文件冲突


2、创建包:package 包名;

注:必须放在Java源程序的第一行

包名间可以使“.”号隔开  例:com.andios.MyClass

例:音乐类---MyClassMusic

-music

com.andios.music.MyClassMusic

-movie

com.andios.movie.MyClassMusic


3、系统中的包  java.(功能).()

java.lang.() 包含java语言基础的类

java.util.() 包含java语言中各种工具类

java.io.() 包含输入、输出相关功能的类


4、包的使用

  1. 可以通过import关键字,在某个文件使用其他文件中的类

import com.andios.music.MyClass;

2Java中,包的命名规范是全小写字母拼写

3)使用的时候不但可以加载某个包下的所有文件  例:com.andios.*

也可以加载某个具体子包下的所有文件  例:com.andios.music.*



二、修饰符


修饰符  类  变量

方法

接口

说明

default

可被同一package中的类存取

public

可被别的package中的类存取
final

 类不能被其他类扩展/方法不能被重写/变量就等于常量
abstract

 

类必须被扩展/方法必须被覆盖
private 

 方法/变量只能在此类中被看见
protected 

 方法或变量能被同一package的类看见,以及被其他package中该类的子类看见
static 

 定义成变量及类方法
synchronized  

 在同一时间内,只有一个此种的方法在执行

1、类修饰符(defaultpublicfinalabstract)四个

1default:指在缺省的情况下,系统会对变量或方法所默认的访问权限

2public:提供给其他类完全的存取权限(在别的包中的类用import引用)

3final:与public一起使用时,此final类可被import来引用,但不能被继承(也就是这两个修饰符的作用和)

4abstract抽象的,用它修饰类称为抽象类,表示此类具有相应的功能,但不提供具体实现的程序代码,而只是先定义一些方法规格,然后让继承此类的子类来覆盖此规格的内容。finalabstract冲突,不能复合来用


2、成员变量修饰符

访问控制符【defaultpublicprotectedprivate

存在修饰符【staticfinal

·  static保存在类的内存区的公共存储空间中,而不是某个对象的内存区中,因此,一个类的任何对象访问时,可以存取到相同的数值。其变量可直接用该类的名称来访问   类名称.静态变量   color=Color.blue

·  final修饰的成员变量的值只能被设置一次,此类字段相当于C/C++中的常量


3、方法修饰符

其各类及意义与成员变量修饰符大部相同,多了一种存在修饰符abstract以及多线程使用的操作性修饰符synchronized

static方法只能使用static变量

abstract抽象方法存在于的类中,并不编写程序代码,留给继承的子类来覆盖

synchronized用于多线程同步处理,被其修饰的方法一次只能被一个线程来使用,只有使用完毕才可以被其他线程使用



包及修饰符的应用实例:

//shapes.java
package shape;
public interface shapes{
    abstract double area();
    abstract double circulms();
}


//locate.java
package shape;
class locate{
    public int x,y;
    public locate(int x,int y){
        this.x=x ; 
<span style="white-space:pre">	</span>this.y=y;
    }
}

//rectangle.java
package shape;
public class rectangle extends locate implements shapes{
    public int width,height;
    public double area(){
        return width*height;
    }
    public double circulms(){
        return 2*(width+height);
    }
    public rectangle(int x,int y,int w,int h){
        super(x,y);
        width=w;
        height=h;
    }
}


//circle.java
package shape;
public class circle extends locate implements shapes{
    public double radius;
    public double area(){
        return Math.PI*radius*radius;
    }
    public double circulms(){
        return 2*Math.PI*radius;
    }
    public circle(int x,int y,double r){
        super(x,y);
        radius=r;
    }
}


//PackageDemo.java
package mypackage;
import shape.*;
public class PackageDemo{
    public static void main(String []args){
        //(50,10)是矩形左上角坐标,20是长,10是宽。
        rectangle rect=new rectangle(50,100,20,10);

        circle cir=new circle(20,30,10);//(20,30)是圆心,10是半径。
   
        System.out.println("Rectangle Locate ( "+rect.x+" ,"+rect.y+" )");
   
        System.out.println("Rectangle Area = "+rect.area());
   
        System.out.println("Rectangle Circulms= "+rect.circulms());
   
        System.out.println("Circle Locate ( "+cir.x+" ,"+cir.y+" )");
   
        System.out.println("Circle Area = "+cir.area());
   
        System.out.println("Circle Circulms= "+cir.circulms());
    }
}


运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值