博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习(五)
阅读量:4324 次
发布时间:2019-06-06

本文共 2781 字,大约阅读时间需要 9 分钟。

Java中package的含义与C++中namespace的用法类似,都是为了防止各个package/namespace中出现类重名的情况。但package还有一个特性,就是一个package中各个类是可以相互访问的。

所以除了一个package中的主类需要使用public修饰符外,其他的类不需要添加修饰符。

用户可以使用Eclipse中的import指令导入相关的package。系统默认为我们导入import java.lang.*包,这表示导入lang包下所有的类,但不包括langpackage下的子package。

所以,以下两条指令是不同的:

1 import java.awt.*;2 import java.awt.dnd.*;

 

在Java中由以下几种修饰符:private、默认、abstract、public、四种,主要区别如下:

 

此外,还有修饰符:static、final和abstract。具体用法如下:1.static final可以表示常量;2.类中的字段若被static final修饰,若未初始化,那么系统会自动初始化,基本类型数据设为0,引用类型设为null;3.若只是被final修饰,那么该类不能被继承。被修饰的字段只能被用户赋值一次,系统不自动初始化;4.static与this、super不能同时存在;5.类中含有被abstract修饰的字段或方法时,类名一定要添加abstract修饰符。抽象方法不进行实例化,只是申明方法形式,而是由子类进行实例化;6static可以充当全局变量修饰符的角色。

 

 

另外,在Java的类中中还有set和get,分别表示只写和只读,它们的专有名称为bean。其实质就是设定private字段的函数和读取private字段的函数。由于类具有封装性、继承性,使用private更安全。

set和get的命名方式为setField(){……}和getField(){……}。get和set后面的第一个字母大写。

1 class ClassTest 2 { 3     private int m; 4     public ClassTest(){} 5     public ClassTest(int a) 6     { 7         m=a; 8     } 9     10     public void setM(int a)11     {12         this.m=a;13     }14     15     public int getM()16     {17         return m;18     }19 }

 

接口在Java中被放到很高的高度,甚至出现了名为面向接口编程。接口的作用是预先定义好一些函数的名称与参数,但并不提供实现的方法。接口中的每个方法修饰符为public abstract。其他类使用接口时用关键字implements来表示。一个类可以同时使用多个接口,即一个接口可以对应多个类,一个类也可以对应多个接口。接口之间也可以继承,用extends来表示。

接口的存在主要是为了统一规范,提高代码的独立性。如在A类中使用了接口I中的方法Menthod1(),在B类中也使用了方法Menthod1(),那么B类的方法可以用A类的方法代替,因为两者的名称相同,最后实现的功能也相同,而不需要考虑两者具体实现的差异。这能大大提高代码的可扩展性。

在Java的接口中也可以存放常量,修饰符为public static final(final也可以省略)。

Java中枚举是用class来实现的。具体用法如下:

1 package helloWorld; 2  3 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT; 4  5 public class Interface { 6      7  8 } 9 10 interface Person11 {12     public static final String MSG="What a pretty girl!";13     public abstract void setName(String str);14     public abstract void setAge(int n);15     public static enum Light{Red,Orange,Yellow,Green,Blue,Purple}16 }17 18 class Student implements Person19 {20     private int age;21     private String name;22     Light light=Light.Orange;23     @Override24     public void setAge(int n)25     {26         age=n;27     }28     public void setName(String str)29     {30         name=str;31     }32     33     public void print()34     {35         System.out.println(age);36         System.out.println(name);37         System.out.println(MSG);38         System.out.println(Light.Orange);39         switch(light)//不可写成Light.Orange40         {41         case Red:42             System.out.println("Red");43             break;44         case Orange:45             System.out.println("Orange");46             break;47         default:48             System.out.println("Nothing");49             break;50         }51     }52                 53 }

 

转载于:https://www.cnblogs.com/2Bthebest1/p/8409107.html

你可能感兴趣的文章
数据结构——有关于栈和队列的小归纳
查看>>
Ubuntu 分区重装
查看>>
ubuntu系统下创建软件桌面快捷方式
查看>>
ES6学习笔记二
查看>>
zipHelper
查看>>
SAP HANA Delivery Unit概念简述
查看>>
Vi/VIM键盘图, Vi/vim学习图
查看>>
java面试题
查看>>
JVM概念
查看>>
数据结构:二叉树
查看>>
OpenCV2:硕士篇 图像分割技术-分水岭分割
查看>>
【算法】【JAVA】栈的实现
查看>>
Git总结
查看>>
canvas个人总结
查看>>
spring-aop-1
查看>>
TCP通信(上传文件)
查看>>
android Activity初次的启动的时候播放声音
查看>>
redis desktop manager连接远程linux中的Redis
查看>>
POJ刷题计划
查看>>
css3 背景透明
查看>>