2015-12-13 4 views
0

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

enter image description here

класс CansTypeObject выглядит следующим образом

public class CansTypeObject { 
    String productId; 
    String productName; 
    String productPrice; 
    String productReturnPrice; 
    String productImage; 
} 

Теперь я хочу, чтобы получить доступ к этой строке из MainActivity

CansTypeObject object = new CansTypeObject(); 

Но я не могу. Если я переведу класс CansTypeObject в тот же пакет, что и в MainActivity, я могу получить к ним доступ. Какое решение для этого?

ответ

3

По умолчанию область действия является приватной. Используйте общественный модификатор струнных деклараций

public String productId; 
+1

по умолчанию это пакет. Не частный. – Blackbelt

+0

ой .. глупо, как я пропустил объем отдельных строк. благодаря –

2

единственной причиной этого поведения является то, что вы объявили Yours Струну класса, как пакета защищенных строк. В Java это означает, что эти поля будут доступны только для классов в одном пакете.

Существует несколько вариантов решения проблемы. Первое (и самое худшее) - объявлять поля, как общественных строк, например:

public String myField; 

второй - создать добытчиками для своих полей и объявлять строки как частных полей, например:

private String myField; 

public String getMyField() { 
    return myField; 
} 

Затем используйте эти геттеры на объекте класса.

Надеюсь, это помогает.

0

Вы можете определить getter-setter метод для CansTypeObject класса следующим образом для доступа к ним легко:

public class CansTypeObject { 
    String productId; 
    String productName; 
    String productPrice; 
    String productReturnPrice; 
    String productImage; 

    public String getProductId() { 
     return productId; 
    } 

    public void setProductId(String productId) { 
     this.productId = productId; 
    } 

    public String getProductName() { 
     return productName; 
    } 

    public void setProductName(String productName) { 
     this.productName = productName; 
    } 

    public String getProductPrice() { 
     return productPrice; 
    } 

    public void setProductPrice(String productPrice) { 
     this.productPrice = productPrice; 
    } 

    public String getProductReturnPrice() { 
     return productReturnPrice; 
    } 

    public void setProductReturnPrice(String productReturnPrice) { 
     this.productReturnPrice = productReturnPrice; 
    } 

    public String getProductImage() { 
     return productImage; 
    } 

    public void setProductImage(String productImage) { 
     this.productImage = productImage; 
    } 
} 

для создания метода геттер-сеттер вы можете использовать клавиши быстрого доступа для

MAC - command + N

Windows - Alt + Insert

Другой способ - открыть класс, для которого вы необходимо установить геттер, а затем right click and from the context menu select Generate option

Смежные вопросы