oop - Referencing basic Java object in another class -


i'm beginner developing in java, , have run bit of problem referencing object (from different class) in class.

this code used create object, file "neighborhoods.java".

public class neighborhoods {      // variables     string name;     int vertices;     double[] latcoords;     double[] longcoords;      public neighborhoods() {         neighborhoods fisherhill = new neighborhoods();         fisherhill.name = "fisher hill";         fisherhill.vertices = 4;         fisherhill.latcoords = new double[] {42.331672, 42.326342, 42.334464, 42.335733};         fisherhill.longcoords = new double[] {-71.131277, -71.143036, -71.148615, -71.141062};     } } 

i tried use object created, "fisherhill" (from class neighborhoods) in main class when calling function different class (called "inpolygon").

inpolygon.check(neighborhoods.fisherhill.vertices); 

but reason, i'm getting error when try reference fisherhill object, says can't found.

i know i'm making dumb mistake here, i'm not sure is. sorry if used wrong terminology in describing code. or suggestions appreciated.

you have several things wrong in there:

neighborhoods fisherhill = new neighborhoods(); 

why instantiating new object of same class inside constructor? constructor called because new object of class going created. new object referenced this. proper way initialize class fields new object:

this.name = "fisher hill"; this.vertices = 4; this.latcoords = new double[] {42.331672, 42.326342, 42.334464, 42.335733}; this.longcoords = new double[] {-71.131277, -71.143036, -71.148615, -71.141062}; 

as can see in other answers, this can ommited. prefer put it, makes code more readable me.

and

inpolygon.check(neighborhoods.fisherhill.vertices); 

there's no such static field neighborhoods.fisherhill. if there, fisherhill.vertices cannot accessed because has default accessibility.

you should create neighborhoods object, keep reference , extract vertices field through getter:

final neighborhoods n = new neighborhoods(); final int numvertices = n.getvertices(); inpolygon.check(numvertices); 

add in neighborhoods class getter vertices field:

public int getvertices() {     return this.vertices; } 

i suggest java book because you're lacking knowledge of basic java , oop.


Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -