包及访问控制权限

包的定义

在Java中使用package关键字来定义包,此语句必须写在xxx.java文件的首行。
例:定义包

package com.study.Demo;  //定义程序所在包,此语句必须放在首行public class Hello {public static void main(String args[]){System.out.println("Hello World");}
}

包的导入

例:定义一个类

package com.study.A;public class Message {public void print(){System.out.println("666");}
}

例:定义另一个类,这个类要使用先前定义的那个类

package com.study.test;
import com.study.A.Message; //导入所需要的类
public class TestMessage {public static void main(String args[]){Message msg=new Message();    //实例化对象msg.print();             //调用方法}
}
//结果
//666

例:导入一个包中的多个类

package com.study.test;
import com.study.A.*;   //自动导入指定包中所需的类
public class TestMessage {public static void main(String args[]){Message msg=new Message();msg.print();}
}

如果使用不同的包中出现了同名类冲突的情况,必须在使用类时加上包名称。
如:

com.study.test.Message msg=new com.study.A.Message();

系统常见包

访问控制权限


对于上表可以简单理解为
private只能在一个类中访问;
default只能在一个包中访问;
protected在不同包的子类中访问;
public为所有都可以。

对于初学者,把握访问权限以下两个基本原则即可:
属性声明主要使用private声明
方法声明主要使用public声明

例:

package com.study.A;public class A {protected String info="Hello";    //使用protected权限定义
}
package com.study.Demo;
import com.study.A.A;
public class B extends A {  //是A不同包的类public void print(){System.out.println("A类的info="+super.info); //直接访问父类中的protected属性}
}
package com.study.Demo;
import com.study.Demo.B;
public class Test {public static void main(String args[]){new B().print();}
}
//结果
//A类的info=Hello

命名规范(虽然我也不是很注意)

类名称:每一个单词的开头大写,例如:TestDemo;
变量名称:第一个单词的首字母小写,之后的每个单词的首字母大写,例如:studetName;
方法名称:第一个单词的首字母小写,之后的每个单词的首字母大写,例如:printInfo();
常量名称:每个字母大写,例如:FLAG;
包名称:所有字母小写,例如:com.study

Java学习总结:17相关推荐

  1. Java学习笔记17

    Object类是所有类.数组.枚举类的父类,是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括 数组)都实现这个类的方法. Object类实现了以下方法: 我们来看看关于finali ...

  2. java学习(17):巩固练习

    //#任务 3 //#已知有三个人,张无忌,任盈盈,任我行.当前只知道任盈盈的年龄 //#可以被用户从控制台输入,并且用户可以告知任盈盈的年龄比张无忌的年龄小几岁, //#任我行年龄是张无忌和任盈盈年 ...

  3. Head First Java学习笔记(17):包、jar存档文件和部署

    Java的部署 Java程序是由一组类所组成的,那就是开发过程的输出. 部署的选择: 1.本机:整个程序都在用户的计算机上以独立.可携的GUI执行,并以可执行的Jar来部署. 2.两种之间的组合:应用 ...

  4. Java学习笔记17:Java_Set集合_TreeSet集合_二叉树_HashSet集合

    文章目录 1.Set集合 1.1Set集合概述和特点[应用] 1.2Set集合的使用[应用] 2.TreeSet集合 2.1TreeSet集合概述和特点[应用] 2.2TreeSet集合基本使用[应用 ...

  5. Java学习笔记17(面向对象十:综合案例)

    在面向对象这个专题的最后 结合前面多篇文章,用到了面向对象的很多方面知识,做了一个简单的案例: 饭店案例: package hotel;/** 酒店的员工类* 员工共同特点:姓名,工号,工作方法*/ ...

  6. java学习第17天,p183-p190(12/21)

  7. Java学习-17 正则表达式简述

    Java学习-17 正则表达式 1.什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容. 正则表达式可 ...

  8. 黑马程序员 一步一步往上爬 学习毕老师java视频第17,18,19天

    ---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...

  9. Java学习---RMI 技术分析[Hessian]

    一.什么是Hessian Hessian 是一个基于 binary-RPC 实现的远程通讯 library.使用二进制传输数据.Hessian通常通过Web应用来提供服务,通过接口暴露.Servlet ...

  10. JAVA学习之路 不走弯路,就是捷径

    [霄潇] 软件开发之路是充满荆棘与挑战之路,也是充满希望之路.JAVA学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大 ...

最新文章

  1. Nginx使用http_accesskey_module防盗链,告别referer,告别伪装
  2. BootStrap table 数据填充与分页应用总结
  3. python密码学编程pdf-Python密码学编程PDF电子书免费下载
  4. 【设计模式】各设计模式设计的可变部分的支持
  5. kali mysql停止服务器_第 2 篇 MySQL 安装
  6. CSS 选择器权重计算规则
  7. JavaScript中带有示例的Math.log()方法
  8. React-Native 之 TabBarIOS
  9. Tableau可视化学习笔记:day11-12
  10. java 从m个数中均匀找出n个数_M个数里面找出最大的N个数
  11. 《剑指offer》面试题4——替换空格 C++编程
  12. matlab调用函数画图,matlab画图之pcolor函数
  13. 获取 jquery 版本号
  14. HanLP《自然语言处理入门》笔记--2.词典分词
  15. InputBox函数用法小结
  16. Python 爬虫学习笔记三:多页内容爬取内容分析及格式化
  17. AngularJS的学习--$on、$emit和$broadcast的使用 - 疯狂的原始人
  18. Revit土建软件的功能,【顶部对齐】【墙齐梁板】【快速切换材质】等等
  19. CSS使用小操作(隐藏滚动,实现三角行等...)
  20. 不可不知,专业名词解释

热门文章

  1. 【数组方法大合集】原生js数组array常用工具方法大合集
  2. vim中删除dos格式文件中的^M号的方法以及深度规整文件格式
  3. Go 分布式学习利器(5)-- 数组和切片
  4. 《Bigtable:a distributed storage system for struct data》笔记
  5. 《C++primer》第一章--开始
  6. python Django 学习笔记
  7. maven工程插件配置
  8. 实验二 164 张增进
  9. 基于Google Reader的个人知识管理方案
  10. 最近做了一个小小的系统,收获挺大的....我想总结一下