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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.