第十七节(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 protectedpublic ,可以限定其他类对该类、属性和方法的使用权限

  注意以下对类的修饰只有:publicdefault ,内部类除外
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); // 缺省 } }
原文地址:https://www.cnblogs.com/Deng1185246160/p/4230612.html