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

Posted LeewinPlus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
    


运行结果:


以上是关于java中包及修饰符的研究与应用的主要内容,如果未能解决你的问题,请参考以下文章

Java中各种(类方法属性)访问修饰符与修饰符的说明

Java中各种(类方法属性)访问修饰符与修饰符的简单说明

java成员变量与局部变量修饰符的区别

java中修饰符的使用场景与注意事项

初来驾到学java修饰符的使用

java修饰符的一些知识点