You obviously can assign class object to another class if the the class whose object you are assigning is a sub type.
For example consider a class 
class Bird
{
pulic Bird(String name)
{
System.out.println(name);
}
}
And now you create a sub class parrot like this
class Parrot extends Bird
{
public Parrot()
{
super("Parrot");
}
}
Now you create an object of Parrot.
Parrot p=new Parrot();
You can assign this to Bird
Bird b=p;
Even if you create a object of Bird like following
Bird b1=new Bird("A Bird");
You can assign this to another Bird variable like the following
Bird b2=b1;
If you want to access some fields of the class without creating objects of that class you have to decalre those fields as static.
class MyClass
{
final static int constant=a;
public static void show()
{
System.out.println(constant);
}
}
You can call the show() method like the following
MyClass.show();