第十七节(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); // 缺省 } }