Java----类的高级特性

目录

 

一、Java类包

1、包的创建

2、导入包

二、final变量

三、final方法

四、final类

五、内部类

1. 成员内部类

2. 局部内部类

三、匿名内部类

四、静态内部类


一、Java类包

类包(包):

1. 每个类都隶属于一个类包;

2. 一个包中的类的类名不能重复,不同包中的类名不相互影响,但这样指定时就必须给出完整路径;

3. 类包(包)能有效避免同名类冲突的情况;

4. 同一个包中的类相互访问时,可以不指定包名;

5. 同一个包中的类不必放在同一个位置。如com.lzw.class1和com.lzw.class2可以一个放在C盘一个放在D盘,只要将CLASSPATH分别指向这两个位置即可。

1、包的创建

1)包的命名:命名规则:全部使用小写字母

Java中包名设计应与文件系统结构相对应。如一个包名为com.lzw,那么该包的类位于com文件夹下的lzw子文件夹下。

2)包的创建:

1---在Eclipse中创建包----右键src,new,package----按上述格式命名。

2---在类中定义包名----必须是文件中第一行非注释代码

package 包名;

当使用package关键字为类指定包名之后,包名将会成为类名中的一部分,则这个类必须指定全名。

package com.lzw;    //指定包名

public class Math{
    public static void main(String[] args){
        System.out.prinln("不是java.lang.Math类,而是com.lzw.Math类");
    }
}

2、导入包

1)使用import关键字导入包

import com.lzw.Math;

import com.lzw2.*;

a、如果类定义中已经导入com.lzw.Math类,在类体重在使用其他包中的Math类时则必须指定完整的带有包格式的类名。

b、在程序中添加import关键字时,就开始在CLASSPATH指定的目录中进行查找,查找子目录中com.lzw,然后从这个目录下编译完成的文件中查找是否有名称符合者,最后寻找到Math.class文件。

c、当使用import制定了一个包中的所有类时,并不会制定这个包的子包中的类。如果要用到这个包中的子类,需要再次对子包作单独引用。

d、

2)使用import导入静态成员变量

import static 静态成员;

可以在程序中直接引用这些导入的静态成员:

package com.lzw;

import static java.lang.Math.max;        //导入静态成员方法
import static java.lang.System.out;    //导入静态成员变量

public class ImportTest{
    public static void main(String[] args){
        out.prinln(max(1,4));    //在主方法中可以直接使用这些静态成员
    }
}

二、final变量

private final double PI = 3.14;

声明一个final常量。

不可以再改变该常量的值。

必须在声明时对该常量进行赋值。

定义为final的常量需要使用大写字母命名,

且中间用下划线连接。

private static final int VALUE = 10; 声明一个final、static常量
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值