Занятие 5. Пакеты Java

Файл Base.java

package p1; class Inp1{   public void f() {     Base b = new Base();  //    b.priv = 1;   // priv has private access in p1.Base     b.pack = 1;     b.prot = 1;     b.publ = 1;    }  }  public class Base{   private int priv = 0;            int pack = 0; protected int prot = 0;    public int publ = 0;  }  class Derivedp1 extends Base{   public void f(Base a) {  //    a.priv = 1; // priv has private access in p1.Base     a.pack = 1;     a.prot = 1;     a.publ = 1;  //   priv = 1; // priv has private access in p1.Base     pack = 1;     prot = 1;     publ = 1;    }  }

Файл Inp2.java

package p2;  import p1.Base;  class Inp2{   public static void main(String[] args){     Base b = new Base(); //    b.priv = 1;   // priv has private access in p1.Base  //    b.pack = 1;   // pack is not public in p1.Base;                     // cannot be accessed from outside package //    b.prot = 1;   // prot has protected access in p1.Base     b.publ = 1;   } }  class Derivedp2 extends Base{   public void f(Base a){  //   a.priv = 1;       // priv has private access in p1.Base  //   a.pack = 1;       // pack is not public in p1.Base; cannot                        // be accessed from outside package  //   a.prot = 1;       // prot has protected access in p1.Base     a.publ = 1; //   priv = 1;         // priv has private access in p1.Base  //   pack = 1;         // pack is not public in p1.Base; cannot                      // be accessed from outside package     prot = 1;     publ = 1;      super.prot = 1;    }  }

Ручное размещение пакетов по файлам

1. Папка для приложения

c:\2kurs\exampl-05

2. Создать в папке

c:\2kurs\exampl-05

файлы

Base.java

Inp2.java

3. Создать в папке

c:\2kurs\exampl-05

пустую папку

classes

4.  Создать в папке

c:\2kurs\exampl-05\classes

пустые папки

p1

p2

5. Перенести файл

Base.java

в папку

c:\2kurs\exampl-05\classes\p1

6. Откомпилировать

Base.java

перейдя в папку

c:\2kurs\exampl-05\classes\p1

7.  Перенести файл

Inp2.java

в папку

c:\2kurs\exampl-05\classes\p2

8. Сделать текущей папку

c:\2kurs\exampl-05\classes

9. Откомпилировать

c:\2kurs\exampl-05\classes>javac p2\Inp2.java

10. Запуск

java p2.Inp2

Автоматическое размещение пакетов по файлам при компиляции

1. Папка для приложения

c:\2kurs\exampl-06

2. Создать в папке

c:\2kurs\exampl-06

файлы

Base.java

Inp2.java

папку classes

3. Выполнить компиляцию

javac -d classes Base.java

Результат?

4. Выполнить компиляцию

javac -classpath classes -d classes Inp2.java

Результат?

5. Сделать текущей папку

c:\2kurs\exampl-06\classes

6. Запуск

java p2.Inp2

Командный файл

1. Папка для приложения

c:\2kurs\exampl-06-1

2. Создать в папке

c:\2kurs\exampl-06-1

файлы

Base.java

Inp2.java

3. Создать в папке

c:\2kurs\exampl-06-1

файл

javastart.cmd

4. Запустить файл

javastart.cmd

Файл javastart.cmd

md classes javac -d classes Base.java javac -classpath classes -d classes Inp2.java cd classes java p2.Inp2