Java入门笔记4_访问控制和包

1. Java中的访问控制
表1-1
可见/访问性
public
protected
package
private
在同一类中
yes
yes
yes
Yes
同一包中
yes
yes
yes
no
不同包中
yes
No
No
No
同一包的子类中
yes
yes
yes
No
不同包的子类中
Yes
Yes
No
No
说明:
(1) 在java中有public、protected、private三种显示的修饰符用于控制可见性,package不是显示的修饰符,它是隐含的,即如果在类、变量等前没加显示的可见性修饰符,那它就是package级别的。如果在类的定义中没有指定package,那么java会把它放在缺省包中,一般来说这个缺省的包就是当前目录。
 
(2) 在子类中的方法如果重载了父类的方法,那么该方法的可见级别应更底或者相同,如父类中的方法是public,那么子类中方法必须是public。
(3) 在java中,一般来说,变量成员最好是private,对它们的访问可以通过public的方法,在这些方法中可以做些控制以保证数据的一致性。这些方法名一般以get和set做为前缀。
2. 包
包名一般为小写,而类名的第一个字母一般为大写,这样在引用时,可以明显的分辨出包名和类名。如果在类的定义之前没有使用package定义包名,那么该类就属于缺省的包。
2.1 Hello Package
首先通过一个简单的package的定义来学习package的使用:
package testPackage;
public class Test
{
public static void main(String args[])
{
mNode node = new mNode();
node.print("hello");
}
}
说明:
(1) 使用package关键字指明类所在的包;
(2) package语句必须在文件的最前面;
(3) 编译时可使用javac

时间: 2024-08-31 22:14:02

Java入门笔记4_访问控制和包的相关文章

Java入门笔记1_HelloWorld

1. 说明本文档是Java入门学习笔记,本文档的所有例子都在window xp下编辑成功,即默认操作系统为window xp,并且认为JDK已成功安装.如有不当之处,请一定指出(email: 828033@tzenet.com),共同进步.本文档不介绍面向对象的基本思想,只记录与Java有关的内容.2. Hello World按惯例写一个hello world作为Java学习的入门.打开文本编辑器,输入以下代码:class HelloWorld { public static void main

Java入门笔记6_线程

1. 多线程1.1 创建线程类在Java中可以简单的从Thread类中继承创建自己的线程类:public class MyFirstThread extends Thread { public void run() { . . .}}说明:(1) Thread类位是java.lang包中,所以可以不用显示import:(2) 从Thread类中继承下来的类最好重载run()方法,以运行需要的代码:可以按以下方法实例化并运行线程:MyFirstThread aMFT = new MyFirstTh

Java入门笔记5_异常

1. 异常/错误1.1 异常处理的基本结构异常处理的基本结构如下:try { someReallyExceptionalMethod();} catch (NullPointerException n) { // a subclass of RuntimeException . . .} catch (RuntimeException r) { // a subclass of Exception . . .} catch (IOException i) { // a subclass of E

java学习笔记之Hibernate基本包作用

antlr-2.7.7.jar 作用:一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序 包路径及主要类:未提供 dom4j-1.6.1.jar 作用:是一个Java的XML API,类似于jdom,用来读写XML文件的 包路径及主要类:未提供 hibernate-commons-annotations-4.0.4.Final.jar 作用:使用javax.persistence下的Annotation可以不依赖Hibernate的JAR包,这样的?可以切换到其他的ORM框架

Java入门笔记9_Socket

1. Client/Server NetworkingJava通过socket来完成它所有的网络底层的通讯,socket是一种通讯的通道,通过它可以将数据通过特定的端中发送及接收.Java中的socket可以分成二大类:(1) Datagram Sockets:数据包socket:(2) Stream Sockets:流socket:1.2 Datagram SocketDatagram socket使用UDP来实现数据通讯,因此它不能保证数据能够到达目的地,但是由于它不需要专用的网络链接,所以

Java入门笔记8_JavaTools

1. Java tool1.1 runtime interpreterJava runtime interpreter语法如下:java Options Classname Arguments如果类使用了包,那么Classname应包含包的名称.下面介绍Options的可选取项:(1) -debug:以deug的模式运行interpreter,它允许也jdb(Java调试器)一起使用:(2) -checksource:打开interpreter时会检查源文件即.java文件和.class文件的日

Java入门笔记3_Datastructure

4. Data Structure4.1 Array4.1.1 基本概念数组在Java中是对象,因此使用它之前需要实例化.数组中的元素可以是基本元素,也可以是对象,但是同一数组中元素的类型必须是相同的.数组中存放的对象不是对象本身,而是对象的引用.4.1.2 数组申明与实例化(1) String difWords[]; Point hits[]; (2) String[] difWords[]; Point[] hits; 常用于方法的返回类型:(3) String[] names = new

Java入门笔记7_Stream

1. Streams及I/OStream就是信息源与目的地之间的通信路径,这里的信息源可以是文件.内存.网络等.Streams主要分为input及output Stream.1.1 InputStream类类InputStream处于Input stream类层次的最顶层,它主要具有以下几种方法:1.1.1 read方法read方法用于从指定的输入流读取以字节为单位的数据,第一次从流的开始位置开始读取,以后每次从上次的结束部位开始读取,即自动实现了位移.read方法有以下三种形态:(1) int

MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解_mariadb

MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为10个). 下面代码给大家介绍MongoDB的java驱动操作,具体代码如下所示: import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.bson.Document; import com.mongodb.MongoClient; impo