Не поможете разобраться с наследованием в Java?
В том, что вы написали, нет никакого смысла (даже если это и компилируется)! Если я правильно понял смысл затеи, что из написанного ОЧЕНЬ непросто, то должно быть как-то так:public abstract class Pet {
	String name;
	int age;
	int weight;
	int cost;
}
...
public class Dog extends Pet {
	public Dog(String name, int age){
		this.name = name;
		this.age = age;
	}
}
...
public class Main {

	public static void main(String[] args) {
		Pet tuzik = new Dog("Tuzik", 5);
		System.out.print(tuzik.age);
	}

}
Это наиболее близко к написанному и будет работать, как хочется, но это все еще УЖАСНО с т.з. ООП, так что рассматривайте это только как иллюстрацию, а не как пример к подражанию.
Обратите внимание на "public Dog(String name, int age){..." - это конструктор. У него нет типа. Он вызывается, когда класс инстанциируют (... = new Dog("Tuzik", 5);) и возвращает экземпляр класса (объект). Только после этого поля объекта проинициализированны какими-то значениями. До того в них в данном примере ничего нет (точнее, там сразу после создания объекта и до отработки его конструктора везде 0 и null в name).
Если что-то непонятно, спрашивайте, но учтите, что пока вы не разберетесь с этим, продолжать обсуждать подробности (например, почему класс Pet абстрактный) бессмысленно.
Вызывай класс.метод, класс.переменная.
Класс Dog, метод Tuzik().
Чтоб было проще. Сначала вызваешь то, что имеет в строке слово class, а дальше то что хочешь увидеть (если что, то IDE тебе подскажет).