Если я чего не просмотрел, переменная name в строке System.out.println("Herr/frau "+ name +" erhaelt "+j_premie+" euro Praemie"); имеет тип Versicherung, т.к. meier = new Versicherung(80,5,"meier"); Object name = meier; т.к. в Versicherung метод toString не оверрайдится, то имеем то, что имеем, а конкретнее адрес объекта. есть несколько решений. приведу одно
было
public class TestVersicherung1 {
public static void main(String[]args){
Versicherung meier;
meier = new Versicherung(80,5,"meier");
double j_premie=meier.jahrespremie();
Object name = meier;
System.out.println("Herr/frau "+ name +" erhaelt "+j_premie+" euro Praemie"); //вот вывод этой переменной
}}
стало
public class TestVersicherung1 {
public static void main(String[]args){
Versicherung meier;
meier = new Versicherung(80,5,"meier");
double j_premie=meier.jahrespremie();
// Object name = meier; <---удалить
System.out.println("Herr/frau "+ meier.name +" erhaelt "+j_premie+" euro Praemie"); //вот вывод этой переменной
}}
ну соответственно классы должны быть в одном пакете (или определить getter/setter для name)