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、包的使用
- 可以通过import关键字,在某个文件使用其他文件中的类
import com.andios.music.MyClass;
(2)Java中,包的命名规范是全小写字母拼写
(3)使用的时候不但可以加载某个包下的所有文件 例:com.andios.*
也可以加载某个具体子包下的所有文件 例:com.andios.music.*
二、修饰符
修饰符 | 类 | 变量 | 方法 | 接口 | 说明 |
(default) | √ | √ | √ | √ | 可被同一package中的类存取 |
public | √ | √ | √ | √ | 可被别的package中的类存取 |
final | √ | √ | √ | 类不能被其他类扩展/方法不能被重写/变量就等于常量 | |
abstract | √ | √ | √ | 类必须被扩展/方法必须被覆盖 | |
private | √ | √ | 方法/变量只能在此类中被看见 | ||
protected | √ | √ | 方法或变量能被同一package的类看见,以及被其他package中该类的子类看见 | ||
static | √ | √ | 定义成变量及类方法 | ||
synchronized | √ | 在同一时间内,只有一个此种的方法在执行 |
1、类修饰符(default、public、final、abstract)四个
(1)default:指在缺省的情况下,系统会对变量或方法所默认的访问权限
(2)public:提供给其他类完全的存取权限(在别的包中的类用import引用)
(3)final:与public一起使用时,此final类可被import来引用,但不能被继承(也就是这两个修饰符的作用和)
(4)abstract:“抽象的”,用它修饰类称为抽象类,表示此类具有相应的功能,但不提供具体实现的程序代码,而只是先定义一些方法规格,然后让继承此类的子类来覆盖此规格的内容。final与abstract冲突,不能复合来用
2、成员变量修饰符
访问控制符【default、public、protected、private】
存在修饰符【static、final】
· 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中包及修饰符的研究与应用的主要内容,如果未能解决你的问题,请参考以下文章