///////////////程序包就是命名的类组。很像目录。是名称空间。类名在其中必须唯一
///////////////sgsware程序包-raytracing子程序包-Mailbox.java中的Mailbox.class
///////////////其全名为sgsware.raytracing.Mailbox
///////////////程序包名为小写。
c:> javac -d /路径 文件名.java ///////////////编译程序包中的java文件
///////////////这时把编译出的*.class 放在这个路径下。
c:> java -classpath 路径 程序包名.文件/////////使用此文件。
package 名称; ////////这样编译时就把这个文件的.class放在了这个名称中
package mypackage;
import mypackage.*;/////程序员永远不用这样定义。
/////一个类自动导入其程序包中的其他类。
///////////////在程序包中的类其default类型(包访问类型)为非public型
///////////////在同一程序包中的类在其他类中的实例可以调用自己类中的任何类型。
///////////一个受保护的方法可以由属主类的任何子类中被超越。即使子类在其他的程序包中。
//////////可以被子类的当前实例访问
package cc;
public class Cctest
{
protected int id;
protected void show()
{
System.out.println(id);
}
}
package dd;
import cc.Cctest;
public class C extends Cctest
{
float salary;
protected void show(C A) //在子类中被超越。
{
System.out.println(A.id);///////子类实例可用。
System.out.println(A.salary);
}
}//////////this is right.
//////////一个受保护的数据可以被属主类的任何子类中调用。但不能被超类中的实例访问。
//////////但可以被子类的实例访问。
package dd;
import cc.Cctest;
public class C extends Cctest
{
float salary;
protected void show(Cctest A)
{
System.out.println(A.id);//this is wrong.
}
}
超类版本访问 子类版本访问
public public
protected public protected
default public protected default
private public protected default private
///////把main放在超类中。这样以后可以用超类的引用子类实例的超越的所有类型的函数。
///////终结类不能子类化,终结方法不能被超越。终结变量得到初始化后不能被修改。
private void show()///////////在超类中。
{
System.out.println("a = " + a + " b = " + b + " c = " + c);
}
public void show()///////////在子类中。
{
System.out.println(add());
}
PrivateClass pri1 = new SubPrivate();//////////超类引用子类。
pri1.show();////////////调用的是超类中的show().
/////////////但如果超类中的show()是非private得则调用的是子类中的show().
/////////////接口如果是公用的则在任何地方的任何代码中都可以使用。
/////////////接口如果不是公用的则在它的程序包中使用。它不能是private/protected
////////////接口中可以不声明public,但实现的时候必须有public声明.
///////////接口的引用只能用接口中声明的方法。
package Interface;
interface OverrideB
{
void b();
void c(int s);
}
package Interface;
interface A
{
void b();
int c(int s);
}
package Interface;
public class Override implements OverrideB,A
{
public void b()//这段代码是正确的.但软件工程不要求这样做.
{
}
public int c(int s)//这里不正确.两个接口中的方法可以函数签名和返回值都相同.但不能只有返回值不同.
return 3;
}
}
/////////一个接口可以继承多个接口使用extends关键字
interface AandB extends A,B
{
}
/////////一个接口不能继承一个虚拟类
public abstract class AbClass
{
abstract void draw();
}
package Interface;
interface AbInterface extends AbClass
{
}
//////////////虚拟类可以实现接口.
分享到:
相关推荐
加密解密:脱壳手记---Themida(2.1.2.0)分享.pdf
架构师手记--14个性化标签系统需求说明.pdf
培训手记-从经营出发培养人才.pdf
张俊写的一本关于单片机的书籍,写得很不错,看了可以提高不少。
同人游戏开发手记-附件(2.2.2-2.2.6) 具体说明见我的博客(http://blog.csdn.net/fosly) 一如既往的骗5个积分, 积分不够的请留个Email, C屌相信总会有不缺分儿的人出现的, 所以坚决不免分
匠人手记-单片机。学习单片机的可以看看,也许会有所启发
【标题】:“05736 培训师--培训师手记-快乐的课堂.doc” 【描述】:“05736 培训师--培训师手记-快乐的课堂.doc” 【标签】:“资料” 【知识点详解】 在培训领域,创造一个愉快而高效的课堂氛围至关重要。培训...
这篇“Android开发手记--环境配置”主要介绍了如何在Windows XP环境下,利用MyEclipse进行Android开发的初始设置。 首先,你需要下载Android SDK。SDK(Software Development Kit)是Android开发的基础,包含了开发...
Android 开发手记 -- 环境配置 Android 开发手记是基于 Linux 内核的手机系统,使用 MyEclipse + Windows XP 作为开发工具,当然在 Linux 下开发是更好的选择。以下是 Android 开发环境配置的步骤: 第一步:下载 ...
网管员成长手记-网络组建、配置与应用.pdf
Oracle DBA手记-数据库诊断案例与内部恢复实践 清晰 无删减
Oracle DBA手记-数据库诊断案例与内部恢复实践 清晰 无删减
Oracle DBA手记-数据库诊断案例与内部恢复实践 清晰 无删减
Oracle DBA手记-数据库诊断案例与内部恢复实践 全本 无删减 高清晰
标题 "Office服务器安装手记--系统安装配置篇" 暗示了本文将深入探讨在服务器环境中安装和配置Microsoft Office或与之相关的服务。在IT领域,这通常涉及到设置Exchange Server(电子邮件服务)、SharePoint(协作...
### 单片机编程技巧与应用案例分析 #### 分段线性插值法在单片机编程中的应用 分段线性插值法是一种在工程领域广泛应用的数据处理方法,尤其适用于单片机控制系统中,用来近似复杂曲线或函数的变化趋势。...
《匠人手记--一个单片机工作者的实践与思考》是关于单片机应用技术的深度探索,其中包含了作者在工作中的实践经验与深刻见解。本文将围绕标签“手记”,详细解读压缩包中各文件所涵盖的单片机相关知识点。 首先,...
MOOC主页,实践路径,猴子问题,手写,登录,注册,11.11 Python 手记 - 史上最全,最详idea搭建springdata+mongoDB+maven+springmvc 史上最全,最详i
### 分段线性插值法 #### 知识点概览 分段线性插值是一种数值分析技术,用于近似复杂函数或曲线。这种方法通过将原始曲线分割成多个线段,然后用这些线段来近似原曲线,从而简化计算过程。此方法广泛应用于信号处理...