Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.spec;
- import com.spec.model.SpecialStudent;
- import com.spec.model.Student;
- /**
- *
- * @author Admin
- */
- public class Test2 {
- //
- public static void workWithStudent(Student s){
- //
- System.out.println("workWithStudent:");
- System.out.println("s.name=" + s.getName());
- System.out.println("s.age=" + s.getAge());
- //
- if(s instanceof SpecialStudent){
- System.out.println("((SpecialStudent)s).getGrant()=" + ((SpecialStudent)s).getGrant());
- }
- }
- public static void main(String[] args) {
- // явное преобразование типов - используем оператор (ИмяТипа)
- Student s = new SpecialStudent("Nick", 12);
- // используем метод класса Student
- System.out.println("s.name=" + s.getName());
- //
- // 1) нет ошибки при выполнении данного кода
- // используем яное преобразование к типу SpecialStudent
- double grantValue;
- if(s instanceof SpecialStudent){
- grantValue = ((SpecialStudent)s).getGrant();
- System.out.println("grantValue=" + grantValue);
- }
- //s.getGrant();
- // 2) ошибку (исключение) при выполнении данного кода
- Student s2 = new Student("Serg", 10);
- // используем опертор instaceof для безопасного преобразования типа
- if(s2 instanceof SpecialStudent){
- SpecialStudent mySpecial1 = (SpecialStudent)s2;
- grantValue = mySpecial1.getGrant();
- }else{
- System.out.println("s2 не является объектом типа SpecialStudent!!!");
- }
- workWithStudent(new SpecialStudent("Nick1", 12));
- workWithStudent(new Student("Nick2", 24));
- System.out.println("OK!!!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement