一.回顾访问修饰符 ==public:被它修饰的类,属性,方法,不仅可以跨类访问,而且可以跨包(package)访问 ==private:可以修饰数据成员,构造方法,方法,不能修饰类,被它修饰的成员只能被本类自已访问,不能被子类访问 ==protected:可以修饰数据成员,构造方法,方法,不能修饰类,能被本类,同包,或其子类成员访问(如果是子类,可以跨包) ==缺省:不加任何修饰符,只允许同一个包中进行访问 二.代码实例 package dog; public class Dog { // 公…
Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但其他包下的类想要访问需使用import关键字将这些public类导入包中才可使用,换句话说,import将不同包的类导入到一个包下,从而转化为包访问权限下的情况. Protected:除了提供包访问权限以外,还对继承该类的所有派生类赋予访问权限. Private:权限最小,只能由包含该成员(域和方法…
Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问. Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private ,具体的权限控制看下面表格,列所指定的…
引言   Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问. Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private ,具体的权限控制看下面表格,…
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以是public,protected, package private(无修饰符), or private. 以下表格总结了类成员中不同访问权限控制修饰符对应的访问级别: 注: 这里的SubClass指的是不同包的子类 World指的是不同包非子类 译文链接:http://www.programcre…
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调用ClassA,只可以调用方法fun1,那么该怎么处理? 此时,访问权限控制便可以…
Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: package com.demo1; public class Demo1 { protected Demo1(){ System.out.println("protected"); } protected void function(){ System.out.println("受保护方…
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调…
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. default:即不加任何访问修饰符,通常称为“默认访问模式“.该模式下,只允许在同一个包中进行访问. protect: 介于public 和 private 之间的一种访问修饰符,一般…
Java中有四种访问权限,从大到小依次是:public –> protected –> default(friendly) –> private. 简单说明下: public 作用域是全局: protected 作用域是类内部.同一包下.子类下: default 或称friendly,作用域是类内部.同一包下: private 作用域仅是类内部.   也可见下图:…
Java提供了public, private, protected 三个访问权限修饰词,提供了以下四种访问权限控制机制: 1.包访问权限: 2.Public访问权限: 3.Private访问权限: 4.Protected访问权限: 1.包访问权限 包访问权限是Java为了便于程序员开发而给定的一种权限选择. 当方法或域未给定访问权限限制符时,其默认具有该权限.具有该权限的方法和域成员,在包内是完全可见的(注意要与其对象依附在一起 ),而包外则不可见. 这有点类似于C++中友元类,友元类见彼此可见…
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围<访问权限范围越小,安全性越高>  访问权限   类   包  子类  其他包   public     ∨   ∨    ∨     ∨          (对任何人都是可用的)  protect    ∨   ∨   ∨     × (同一个包内其他类和继承的类可以访问)  default    ∨…
[包:库单元] 编译单元的概念. 一个.java文件就是一个编译单元,一个编译单元只能有一个public类,编译单元中的非public类一般是用于为public类提供支持的,这些类在包外不可见. import语句. 当编译器碰到import语句的时候,就开始在CLASSPATH所指定的目录中查找对应的package. [Java访问权限修饰词] 包访问权限1.当某个类没有添加访问修饰符的时候,这个类默认在包内可见(可见的含义就是可以随意使用这个类来创建对象),但对于包外的类而言,这个类是priv…
java有四种访问权限,它们各自的范围如下图所示 当下列访问修饰符修饰字段和方法时: private 任意位置的子类不可以访问从父类继承的private字段和方法.这里所说的访问包括通过super关键字访问. 任意位置的对象不能通过“.”访问对象的字段和方法. public 任意位置的子类可以访问从父类继承的public字段和属性. 任意位置的对象可以通过“.”访问字段和属性. default 当子类与父类在同一包下时,子类可以访问从父类继承的default权限的字段和方法. 当创建该对象的类与…
包:库单元 1.当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元). 2.每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类名称必须和文件的名称相同. 3.每个编译单元只能有一个public类,否则编译器就不会接受. 4.如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,因为它们不是public类. 代码组织 xx.java编译生成xx.class package语句必须是文件除注释以外的第一句程序代码…
引入一个包及其所包含的方法:import java.util.ArrayList;(引入java.util包,并引入了包中的ArrayList类) import java.util.*;(引入了java.util包中的全部内容) 每一个编译单元(.java)中只可以有一个public类,此类名必须与编译单元名字完全相同 希望构件从属于同一群组,须在文件的开头写:package packagename;(包名必须全部小写) 包名设置为反顺序的域名,把package名称分解为机器上的目录,这样通过包…
public:公共权限,可以修饰类.成员变量和成员函数,不论是否在同一个包中均可自由访问 package wang; //当一个类的权限为public时,类名必须和文件名相同 public class Person{ public String name; //public权限 public void introduce(){ System.out.println(name); } } package chavez; class Test{ public static void main(Str…
一.成员访问控制权限 作用域 当前类 当前包 子孙类 其他包 public √ √ √ √ protected √ √ √ X private √ X X X default √ √ 当前包下继承可以 X 访问控制从大到小:public------protected-----default----private 在这里有一点值的注意:那就是protected的访问权限比包访问权限要大,原因在于包访问权限只有在当前包的继承下才可以获得,而protected访问权限则在任何的继承条件下都可以使用.…
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个包 YES YES YES NO * 不同包子类 YES YES NO NO * 不同包非子类 YES NO NO NO * * 注意:(default)并不是关键字default,而是什么都不写. */…
1.public(公共的): 任何类都可以进行访问(最不严格). 2.protected(保护的): 同一包内的类以及其子类可以进行访问. 3.default(缺省的): 类中不加任何访问权限限定的成员属于缺省的访问状态.可以被这个类本身以及同一个包中的类包括其子类访问. 4.private 实现封装(私有的) 只能被当前类本身访问(最严格). a.类中属性,方法被private封装后,被封装的属性与方法只能在本类中使用,类外部不可见.此时要想访问被封装的属性,必须提供setter与getter…
1. extends继承 2. java只支持单继承,不允许多继承 修饰符 类内部 同一个包 子类 任何地方 private YES       default YES YES     protected YES YES YES   public YES YES YES YES t.j, t.k, t.m都可以访问是因为 j属于default, 类内部,同一个包都可以访问, k属于protected, 类内部,同一个包或者子包都可以访问, m是public, 任何地方都可以访问 public c…
控制台程序,创建和删除目录以及复制和移动文件. import java.nio.file.*; import java.nio.file.attribute.*; import java.io.IOException; public class MoveAndCopyFiles { static void createSingleDirectory(Path path){ try{ Files.createDirectories(path); System.out.println("\n&quo…
控制台程序,测试文件或目录的路径. import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.attribute.BasicFileAttributes; import java.io.IOException; pu…
控制台程序,列出目录的全部内容并使用过滤器来选择特定的条目. import java.nio.file.*; import java.io.IOException; public class ListDirectoryContents { public static void main (String[] args) { Path currentPath=Paths.get(System.getProperty("user.dir")); currentPath=currentPath…
控制台程序,列出存储在系统中的文件的详细信息 import java.nio.file.FileStore; import java.nio.file.FileSystems; import java.nio.file.FileSystem; import java.io.IOException; public class GetFileStores{ public static void main(String[] args){ FileSystem fileSystem=FileSystem…
控制台程序,使用两种方法来创建目录. import java.nio.file.*; import java.io.IOException; public class CreatingDirectories { public static void main(String[] args){ Path relPath =Paths.get("junkDir"); createSingleDirectory(relPath); createSingleDirectory(relPath);…
基本步骤: 加载数据库驱动 建立连接 创建SQL语句 执行SQL语句 处理执行结果 释放资源 代码示例: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import junit.framework.TestCase; public class JDB…
(PS:其中private和protected不能修饰一般的类,否则编译就会报“modifier private not allowed here”,如果是内部类就另当别论了)…
今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2方法,但是他只想提供func1给别的攻城狮使用,应该怎么办? 此时,应该使用Java当中的访问权限控制符:1.默认访问权限 2.public 3.private 4.protected 注意,上述四种访问权限,只有默认访问权限和public能够用来修饰类.修饰类的变量和方法四种权限都可以.(本处所说…