CastOverrideAndAnonymusClasses

This commit is contained in:
2024-10-04 20:44:18 +02:00
parent c556d9d901
commit c9e96af0a5
8 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,8 @@
package com.example;
class Animal{
public String name;
public void Animal(){
this.name = "Something!!!";
}
}

View File

@ -0,0 +1,12 @@
package com.example;
public class Cat extends Animal {
public String sound;
public void Cat(){
this.sound = "MEEEEOW";
}
public void makesound(){
this.sound = "Something like MEEEEOW";
System.err.println(sound);
}
}

View File

@ -0,0 +1,41 @@
package com.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
double asd = 3.5423;
int castedasd = (int) asd;
System.out.println(castedasd);
System.out.print("Gimme a letter and Ill tel you the ASCII code! ");
Scanner read = new Scanner(System.in);
char a = read.next().charAt(0);
//your code goes here
System.out.println((int)a);
// Upcasting
// You can cast an instance of a subclass to its superclass.
// Consider the following example, assuming that Cat is a subclass of Animal.
Animal C = new Cat();
Animal B = new Cat();
System.out.println(((Cat)B).sound);
// Anonymous Classes
// Anonymous classes are a way to extend the existing classes on the fly.
// For example, consider having a class Machine:
Cat c = new Cat(){
@Override public void makesound(){
System.err.println("MOOOOOOOOOOOOOO");
}
};
c.makesound();
}
}