第十七节(is-a 、is-like-a 、has-a,包和 import )

 is - a 类与类之间的继承关系;

 is - like - a  类与接口之间的关系;

 has - a 关联关系;
public class Animal{

    public void method01();

}

// 类与类之间的关系

class Dog extends Animal{ // Dog is a Animal

}
///////////////////////////////////////////
public interface I{

    public void method1();

}
// is - like - a 类与接口之间关系: 实现

class A implements I{ // A is like a I

    public void method1(){

        // 实现

    }
}

/////////////////////////////////////////////////
/*
    类与类之间的 关联关系

*/

public class B{ // B has a C

    private C c;

}
class C{

}
 包

 包其实就是目录,特别是项目比较大,java 文件特别多的情况下,我们应该分目录管理, 在java 中称为

 分包管理,包名称通常采用小写 。

1、包最好采用小写字母

2、包的命名应该有规则,不能重复

//package 必须放到 所有语句的第一行,注释除外

import:

1.  import语句可以引入其他类.

2.  import语句只能出现在package语句之下,class定义的语句之上

JDK 常用开发包 :

 java.lang ,此包 Java 语言标准包,使用此包中的内容无需 import 引入

 java.sql ,提供了 JDBC 接口类

 java.util,提供了常用工具类

 java.io ,提供了各种输入输出流
/*
    软件的包机制:

        1. 为了解决类的命名冲突问题,在类名前加命名空间(包机制)

        2. 在Java中使用package语句定义包。(单包,复包)

        3. package语句只能出现在.java源文件的第一行

        4. package定义的格式,通常使用公司域名倒叙输出方式

        com(企业公司).tz(公司名).util(业务模块名称)

        package定义格式: 公司域名倒叙.项目名.模块名

        5. 完整的类名是带有包名的

        6. 带有包结构的如何运行程序;

            java com.tz.javase.pak.Student

            java 类装载器 后边跟 类名
            javac Java的编译器后边跟路径

*/

package com.tz.javase.pak;

public class Student{

    public static void main(String[] args){
        System.out.println("太棒了 !");
    }

}

// import com.tz.javase.pak.*;  导入pak里边的所有的类
// import语句只能出现在package语句之下,class定义之上

import java.util.Date;
import com.tz.javase.pak.Student;

public class Test01{

    public static void main(String[] args){

        // sun提供的日期
        Date d = new Date();
        System.out.println("日期:"+d);

        //com.tz.javase.pak.Student s = new com.tz.javase.pak.Student();

        Student s = new Student();//这里调用了com.tz.javase.pak下面的Student了  这里要把类建在文件夹com.tz.javase.pak下面;
 System.out.println(s); } }
java 访问级别修饰符主要包括:

  private protected 和 public ,可以限定其他类对该类、属性和方法的使用权限

  注意以下对类的修饰只有:public 和 default ,内部类除外

package com;

/*
    关于访问控制权限的修饰符:修饰类,修饰方法,修饰变量

    private 只能在本类中访问
    缺省: 本类,同一个包下,其他不行
    protected 本类,同一个包下,子类都可以访问,不同包 不行;
    public 任何位置都可以

*/

public class User{ // 类User只能用public或者缺省

    // protected修饰
    protected String name;

    // 缺省
    int age;

}

// 缺省类
class TestMing{

    public static void main(String[] args){

        User u = new User();

        System.out.println(u.name);
        System.out.println(u.age);

    }

}

package tz;

import com.User;

public class Test{

    public static void main(String[] args){

        User u = new User();
        //System.out.println(u.name); // protected修饰
        System.out.println(u.age); // 缺省

    }

}
时间: 2024-10-26 14:14:52

第十七节(is-a 、is-like-a 、has-a,包和 import )的相关文章

centos samba/squid 配置 第二十七节课

centos  samba/squid 配置  第二十七节课 上半节课 下半节课 一. samba配置1. 什么是sambaSamba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到.是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. 注意:smb侦听端口:139  和  445  端口 2. 安装配置samba yum install -y samba samb

centos shell编程3【告警系统】 第三十七节课

centos shell编程3[告警系统]  第三十七节课 上半节课 下半节课 整个项目没有任何架构,都是单机的,没有服务器端和客户端的概念只是简单调用一下shell脚本,子shell,通过添加更多的shell脚本扩展功能 mail.sh:做邮件收敛uptime或w 获取load average 需要安装php环境yum install -y php 需求: 使用shell定制各种个性化告警工具,但需要统一化管理.规范化管理. 思路:指定一个脚本包,包含主程序.子程序.配置文件.邮件引擎.输出日

第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+

第三百三十七节,web爬虫讲解2-PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息 下载网址:http://phantomjs.org/download.html  下载对应系统版本 下载后解压PhantomJS文件,将解压文件夹,剪切到python安装文件夹 然后将P

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台-网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源

centos mysql 优化 第十七节课

centos mysql  优化  第十七节课 f

火云开发课堂 - 《Shader从入门到精通》系列 第十七节:在Shader中对3D模型进行色彩与纹理色的混合

<Shader从入门到精通>系列在线课程 优惠链接:http://edu.csdn.net/combo/detail/90 第十七节:在Shader中对3D模型进行色彩与纹理色的混合 视频地址: http://edu.csdn.net/course/detail/1441/22681?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 版权声明:本文为博主原创文章,未经博主

第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware随机更换user-agent浏览器用户代理

第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲-通过downloadmiddleware随机更换user-agent浏览器用户代理 downloadmiddleware介绍中间件是一个框架,可以连接到请求/响应处理中.这是一种很轻的.低层次的系统,可以改变Scrapy的请求和回应.也就是在Requests请求和Response响应之间的中间件,可以全局的修改Requests请求和Response响应 源码里downloadmiddleware里的useragent.py下的U

第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置

第三百九十七节,Django+Xadmin打造上线标准的在线教育平台-其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这个json文件来动态加载的.所以我们可以到它加载的json文件里下载好主题 themes.py修改方式 #coding:utf-8 from __future__ import print_function import httplib2 from django.template import lo

火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第十七节:地表的实现

<使用Cocos2d-x 开发3D游戏>系列在线课程 第十七节:地表的实现 视频地址:http://edu.csdn.net/course/detail/1330/20817?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 项目实例: 版权声明:本文为博主原创文章,未经博主允许不得转载.