Софтуерно Инженерство
Loading...
+ Нов въпрос
tishkata86 avatar tishkata86 14 Точки

Import java package path

Здравейте. Имам проблем със задачите от домашните за метод в джава ООП. Тъй като си правя всяка задача в отделен package и трябва да сложим в кода проверката дали работи от домашните, но когато следния код 

Method getOldestMethod = Class.forName("Family").getMethod("getOldestMember");
Method addMemberMethod =Class.forName("Family").getMethod("addFamilyMember",Person.class);

се опитва да дотъпи до този клас понеже е в package той не го намира и ми хвърля  java.lang.ClassNotFoundException: Family

а аз искам задачките да са ми в отделни package-и в един проект, може ли някой да ми помогне да ми каже как да му дефинирам правилно path-а за да достъпи до този клас. Package-а ми се казва:

package Problem02_OldestFamilyMember;

Гледах в google но не успях да намеря решение на този проблем а искам да знам как да дефинирам правилно path-а на класа. Пробвах с 

Method getOldestMethod = Class.forName("Problem02_OldestFamilyMember.Family").getMethod("getOldestMember");
Method addMemberMethod =Class.forName("Problem02_OldestFamilyMember.Family").getMethod("addFamilyMember",Person.class);

и с точки и с наклонени черти, но няма ефект като цяло. Много ще съм благодарен ако някой помогне. Благодаря предварително.

Тагове:
0
Java Web Development
kosio197 avatar kosio197 104 Точки

Привет,

Трябва да напишеш package_name.class_name като параметър на forName. Кода по долу работи и връща "void":

package bg.softuni.testclass;

public class Test {
    public static void test() {

    }
}

package bg.softuni.test.test;

import java.lang.reflect.Method;

public class Main {
    public static void main(String[] args) throws NoSuchMethodException, SecurityException, ClassNotFoundException {
        Method m = Class.forName("bg.softuni.testclass.Test").getMethod("test");
        System.out.println(m.getReturnType());
    }
}

Ако си го пробвал така и нестава (както ми изглежда от кода горе), провери bin директорията (по default, ако не си променял клас пътя там се компилира кода) и виж има ли ги там всички class файлове от проекта.

0
29/06/2016 09:28:03