There are multiple problems in your class.
First of the initialization of variables that is written directly at the class variables is done before the constructor body is executed. So your initialization of the path_name array will always by done with the default value of number and that is 0. This works but your array won't be able to store any values this way.
Now in your body, I guess you try to fill your path_name array with the content of the p array. But instead you replace the instance. This works just fine but in case anyone changes the array outside the class it will change in this class as well. I guess you want to transfer the values using System.arraycopy or Arrays.copyOf.
For the call of your constructor you have to call something like this:
new Path(6, new String[] {"one", "two", ...});
As improvement I suggest you drop the number variable entirely how ever because you can at all time refer to the size of the array itself using path_name.length.
Another thing you might want to look into is variable length arguments. If you change your constructor like this:
Path(int n, String p...){
number=n;
path_name = p
}
You set that there is a undefined amount of strings to be added after the number in the call of the constructor. All this strings are automatically packed in a String array called p. As this array only exists inside this constructor you can safely copy the instance instead of the variables. The call of the constructor then looks like this:
new Path(6, "one", "two", ...);