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); // 缺省
}
}