Main.java
package com.company;

public class Main {

    static class Zwierzak {
        public int getWaga() {
            return waga;
        }
        public void setWaga(int waga) {
            this.waga = waga;
        }
        private int waga;                // właściwość
        public Zwierzak podajGatunet() {    // metoda
            System.out.println("Jestem zwierzem");
            return null;
        }
    }

    public static void main(String[] args) {

        // Ponizej zostanie utworzony obiekt ptak o klasie potomnej klasy Zwierzak
        // Klasa obiektu ptak nie ma nazwy - jest anonimowa

        // Zwierzak ptak = new Zwierzak() {
        var ptak = new Zwierzak() {
            @Override
            public Zwierzak podajGatunet() {
                super.podajGatunet();
                System.out.println("a dokładnie ptakiem o prędkości lotu " + v);
                System.out.println("i rozpietości skrzydeł " + rozpietosc);
                return null;
            };
            private int v = 123;
            private double rozpietosc = 0.123;
            void info() {
                System.out.println("INFO Jestem ptakiem o prędkości lotu " + v);
                System.out.println("i rozpietości skrzydeł " + rozpietosc);};
        };
        ptak.podajGatunet();
        ptak.info();


        class Obiekt{};
        var qqq = new Obiekt(){
            private int v = 123;
            private double rozpietosc = 0.123;
            void info() {
                System.out.println("INFO QQQQ Jestem ptakiem o prędkości lotu " + v);
                System.out.println("i rozpietości skrzydeł " + rozpietosc);};
        };

        qqq.info();

        var zz = new Obiekt(){ private int v = 123;
            private double rozpietosc = 0.123;
            void info() {
                System.out.println("INFO ZZ Jestem ptakiem o prędkości lotu " + v);
                System.out.println("i rozpietości skrzydeł " + rozpietosc);};
        };

        zz.info();
    }
}