/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Movie{
int runningTime; // Field of class
int budget;
//parameterized contructor
director = d;
genre = g;
runningTime = r;
budget = b;
}
void display
(){System.
out.
println(director
+" "+genre
+" "+runningTime
+" "+budget
);} }
class FantasyMovies extends Movie{ // hierarchy
int releaseDate;
int boxOffice;
//parameterized constructor
super(d, g, r, b);
producer = p;
company = c;
releaseDate = rd;
boxOffice = bf;
}
void display
(){System.
out.
println(director
+" "+genre
+" "+runningTime
+" "+budget
+" "+producer
+" "+company
+" "+releaseDate
+" "+boxOffice
);} }
class Test{ // main class
public static void main
(String[]args
){
Movie titanic = new Movie("James Cameron", "Fantasy", 195, 200_000_000);
titanic.display();
FantasyMovies noah = new FantasyMovies("James Cameron", "Fantasy", 195, 200_000_000,"James Cameron", "Fantasy", 195, 200_000_000);
noah.display();
noah.director="Darren Aronofsky";
System.
out.
println("Director "+noah.
director); noah.genre="Fantasy";
System.
out.
println("Genre "+noah.
genre);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNb3ZpZXsKICAgICAgICBTdHJpbmcgZGlyZWN0b3I7CiAgICAgICAgU3RyaW5nIGdlbnJlOwogICAgICAgIGludCBydW5uaW5nVGltZTsgLy8gRmllbGQgb2YgY2xhc3MKICAgICAgICBpbnQgYnVkZ2V0OwogCiAgICAgICAgLy9wYXJhbWV0ZXJpemVkIGNvbnRydWN0b3IKICAgICAgICBNb3ZpZShTdHJpbmcgZCxTdHJpbmcgZyxpbnQgcixpbnQgYil7CiAgICAgICAgICAgICAgICBkaXJlY3RvciA9IGQ7CiAgICAgICAgICAgICAgICBnZW5yZSA9IGc7CiAgICAgICAgICAgICAgICBydW5uaW5nVGltZSA9IHI7CiAgICAgICAgICAgICAgICBidWRnZXQgPSBiOwogICAgICAgIH0KICAgICAgICB2b2lkIGRpc3BsYXkoKXtTeXN0ZW0ub3V0LnByaW50bG4oZGlyZWN0b3IrIiAiK2dlbnJlKyIgIitydW5uaW5nVGltZSsiICIrYnVkZ2V0KTt9Cn0KIApjbGFzcyBGYW50YXN5TW92aWVzIGV4dGVuZHMgTW92aWV7ICAgICAvLyBoaWVyYXJjaHkKICAgICAgICBTdHJpbmcgcHJvZHVjZXI7CiAgICAgICAgU3RyaW5nIGNvbXBhbnk7CiAgICAgICAgaW50IHJlbGVhc2VEYXRlOwogICAgICAgIGludCBib3hPZmZpY2U7CiAKICAgICAgICAvL3BhcmFtZXRlcml6ZWQgY29uc3RydWN0b3IKICAgICAgICBGYW50YXN5TW92aWVzKFN0cmluZyBkLFN0cmluZyBnLGludCByLGludCBiLFN0cmluZyBwLCBTdHJpbmcgYywgaW50IHJkLCBpbnQgYmYpIHsKICAgICAgICAgICAgICAgIHN1cGVyKGQsIGcsIHIsIGIpOwogICAgICAgICAgICAgICAgcHJvZHVjZXIgPSBwOwogICAgICAgICAgICAgICAgY29tcGFueSA9IGM7CiAgICAgICAgICAgICAgICByZWxlYXNlRGF0ZSA9IHJkOwogICAgICAgICAgICAgICAgYm94T2ZmaWNlID0gYmY7CiAgICAgICAgfQogICAgICAgIHZvaWQgZGlzcGxheSgpe1N5c3RlbS5vdXQucHJpbnRsbihkaXJlY3RvcisiICIrZ2VucmUrIiAiK3J1bm5pbmdUaW1lKyIgIitidWRnZXQrIiAiK3Byb2R1Y2VyKyIgIitjb21wYW55KyIgIityZWxlYXNlRGF0ZSsiICIrYm94T2ZmaWNlKTt9Cn0KIApjbGFzcyBUZXN0eyAvLyBtYWluIGNsYXNzCiAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdYXJncyl7CiAKICAgICAgICAgICAgICAgIE1vdmllIHRpdGFuaWMgPSBuZXcgTW92aWUoIkphbWVzIENhbWVyb24iLCAiRmFudGFzeSIsIDE5NSwgMjAwXzAwMF8wMDApOwogICAgICAgICAgICAgICAgdGl0YW5pYy5kaXNwbGF5KCk7CiAKICAgICAgICAgICAgICAgIEZhbnRhc3lNb3ZpZXMgbm9haCA9IG5ldyBGYW50YXN5TW92aWVzKCJKYW1lcyBDYW1lcm9uIiwgIkZhbnRhc3kiLCAxOTUsIDIwMF8wMDBfMDAwLCJKYW1lcyBDYW1lcm9uIiwgIkZhbnRhc3kiLCAxOTUsIDIwMF8wMDBfMDAwKTsKICAgICAgICAgICAgICAgIG5vYWguZGlzcGxheSgpOwogICAgICAgICAgICAgICAgbm9haC5kaXJlY3Rvcj0iRGFycmVuIEFyb25vZnNreSI7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkRpcmVjdG9yICIrbm9haC5kaXJlY3Rvcik7CiAgICAgICAgICAgICAgICBub2FoLmdlbnJlPSJGYW50YXN5IjsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiR2VucmUgIitub2FoLmdlbnJlKTsKIAogCiAgICAgICAgfQp9