can not создать объект из класса java [duplicate]

Связанный .lib-файл связан с .dll

У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.

Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.

5
задан Eric Leschinski 17 August 2013 в 02:24
поделиться

6 ответов

В этом вы не можете сделать WeightIn weight1 = new WeightIn();, поскольку конструктор по умолчанию не определен.

Итак, вы можете добавить

public WeightIn(){
}

Или вы можете это сделать

WeightIn weight1 = new WeightIn(3.65,1.7) // constructor accept two double values

4
ответ дан Eric Leschinski 3 September 2018 в 13:26
поделиться

У вас нет конструктора WeightIn (). Создайте его или укажите параметры в основном методе для конструктора.

1
ответ дан ihsan kocak 3 September 2018 в 13:26
поделиться

Добавьте это в свой класс:

public WeightIn(){
}
  • Пожалуйста, поймите, что конструктор без аргументов по умолчанию предоставляется, только если никакой другой конструктор не написан
  • Если вы пишете какие-либо конструктор, то компилятор не предоставляет конструктор по умолчанию no-arg. Вы должны указать один из них.
15
ответ дан Jan Černý 3 September 2018 в 13:26
поделиться

Прежде всего, вы должны знать, что один .java-файл может иметь только один открытый класс.

Вы получаете ошибку, потому что вы написали параметризованный конструктор и получили доступ к конструктору по умолчанию. Чтобы исправить эту ошибку, напишите:

WeightIn weight1 = new WeightIn(5.2, 52.2); 

вместо

WeightIn weight1 = new WeightIn();
0
ответ дан Qantas 94 Heavy 3 September 2018 в 13:26
поделиться
WeightIn weight1 = new WeightIn();  

Конструктор по умолчанию не определен. Пожалуйста, определите его следующим образом: -

public weightIn()
    {
    }
1
ответ дан Rahul Tripathi 3 September 2018 в 13:26
поделиться

Компилятор встречает вызов конструктора «WeightIn()» no argument в этой строке:

WeightIn weight1 = new WeightIn();         //Error happens here.

Компилятор ищет подходящий конструктор в определении класса, а его не найдя его. Это ошибка. (У вас есть определенный конструктор: «WeightIn(double,double)», но он принимает два аргумента и не соответствует.)

Несколько способов исправить это.

Самое простое изменение код в вашем основном методе передать два аргумента.

WeightIn weight1 = new WeightIn( 3.65, 1.7); 
//weight1.setWeight(3.65);
//weight2.setHeight(1.7);

Вызов методов setWeight и setHeight избыточен, так как члены уже назначены значениям методом конструктора.

0
ответ дан spencer7593 3 September 2018 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: