Пытаюсь сделать из исходника float-калькулятора приложение (для работы надо ). При компиляции ни НетБинс, ни мобильный СДК ошибок не выдают, но при запуске на теле - "Ошибка приложения". Через эмуль из НетБинс тоже не запускается, а через Кэмулятор - работает!! Посмотрите, пожалуйста, что я не так сделал: casete.ru/4454
brigO897, чтобы точно ответить, как решить проблему, нужно точно знать, в чем она состоит, "вроде бы так" не годится. Эмулятор должен писать, какое исключение на какой строчке было выброшено. По крайней мере, эмулятор из SDK всегда пишет.
Malcolm, привет! Скажи пожалуйста этой программе при создании двух объектов класса Box, метод volume() тоже создаётся в двух экземплярах, по одному в каждом объекте Box? И ещё, если не сложно объясни строку: Box mybox=new Box().Я знаю что mybox это ссылка на объект new операция выделения памяти Box() это конструктор класса Box,а что такое первое Box? И почему собственно Box,а не что нибудь другое? Заранее большое спасибо за ответ.
alex.v, volume принадлежит объекту класса, так что у каждого объекта будет свой собственный метод. Они работают, разумеется, совершенно одинаково, но имеют дело только с полями собственного объекта. То есть, если ты одному объекту Box присвоишь одни значения полей width, height, depth, а другому - другие, то и методы будут возвращать разные значения. Насчет Box box = new Box(). Вообще говоря, тут три момента: объявление ссылочной переменной box типа Box, создание объекта Box и присвоение ссылки на новыый объект переменной. Объявление переменной с типом Box, потому что объект создается этого типа. Можно указать надкласс Box (от которого Box наследуется), тогда все тоже будет работать, но ты не сможешь вызывать методы Box. Когда будешь читать про наследование, разберешься.
5 дек 2010 в 13:22