zoukankan      html  css  js  c++  java
  • 第十七节(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); // 缺省 } }
  • 相关阅读:
    【前端开发】vue子项目打包一个组件供另一个项目使用教程
    【前端开发】基于flow-editor-vue库改造的流程设计器,审批流程引擎前端教程
    【前端开发】基于logicFlow可视化流程库改造的流程引擎教程
    知识蒸馏:Distillation
    浮点神经网络vs二值神经网络
    Representation Learning 表征学习
    mybatis plus 追加where 函数
    20211012 MapStruct
    20211012 Dubbo 的 SPI 和 Adaptive
    20210916 小马哥讲 Spring AOP
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4230612.html
Copyright © 2011-2022 走看看