黑马程序员_10_成员变量_成员方法_静态成员方法_在多态情况下的特点
2014-01-10 00:00
375 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
*****************************************************11111111111111*********************************************************
class Person{ public void print1(){ System.out.println("Person print_1111"); } public void print2(){ System.out.println("Person print_2222"); } } class Student extends Person{ public void print1(){ System.out.println("SSSsss print_1111"); } public void print3(){ System.out.println("SSSs print_3333"); } } public class Polymorphic080501{ public static void main(String[] args){ Student s=new Student(); s.print1(); //输出结果是:SSSsss print_1111 s.print2(); //输出结果是:Person print_2222 s.print3(); //输出结果是:SSSs print_3333 } }
运行结果:
*****************************************************22222222222222*********************************************************
class Person{ public void print1(){ System.out.println("Person print_1111"); } public void print2(){ System.out.println("Person print_2222"); } } class Student extends Person{ public void print1(){ System.out.println("SSSsss print_1111"); } public void print3(){ System.out.println("SSSs print_3333"); } } public class Polymorphic080502{ public static void main(String[] args){ Person p=new Student(); p.print1(); p.print2(); p.print3(); //编译时报错 /* 多态中成员函数的特点: 1、在编译时期:检查引用型变量(例如:p)所属类(例如:Person)中是否调用的函数, 如果有,编译通过,如果没有,编译失败。 2、在运行时期:检查对象所属类是否有调用的方法。 简单总结:成员函数在多态中,编译时看左边,运行时看右边。 */ } }
运行结果:
*****************************************************33333333333333*********************************************************
class Person{ int num=5; public void print1(){ System.out.println("Person print_1111"); } public void print2(){ System.out.println("Person print_2222"); } } class Student extends Person{ int num=8; public void print1(){ System.out.println("SSSsss print_1111"); } public void print3(){ System.out.println("SSSs print_3333"); } } public class Polymorphic080503{ public static void main(String[] args){ Person p=new Student(); System.out.println("p.num="+p.num); //p.num=5 Student s=new Student(); System.out.println("s.num="+s.num); //s.num=8 /* 多态中成员变量的特点: 无论编译还是运行,都看左边(引用型变量所属的类)。 */ } }
运行结果:
*****************************************************44444444444444*********************************************************
class Person{ int num=5; public void print1(){ System.out.println("Person print_1111"); } public void print2(){ System.out.println("Person print_2222"); } public static void print4(){ System.out.println("Person print_44"); } } class Student extends Person{ int num=8; public void print1(){ System.out.println("SSSsss print_1111"); } public void print3(){ System.out.println("SSSs print_3333"); } public static void print4(){ System.out.println("ssss print_4444"); } } public class Polymorphic080504{ public static void main(String[] args){ Person p=new Student(); p.print4(); //Person print_44 Student s=new Student(); s.print4(); //ssss print_4444 /* 多态中静态成员变量的特点: 无论编译还是运行,都看左边(引用型变量所属的类)。 */ } }
运行结果:
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 多态的成员(变量、方法)访问特点【非静态】
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
- 1-Java继承中多态情况特性下变量,方法,静态方法的访问
- java 基础 面向对象(多态中的成员访问特点之静态成员成员方法)
- 多态 多态中的成员(成员变量、构造方法、成员方法、静态方法)访问特点
- 多态时的------成员变量----成员函数----静态方法--binbinyang
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
- 黑马程序员--03.Java面向对象--02.【static关键字】【main方法】【静态成员】
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- 【转】C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- 静态导入,可以静态导入成员变量和方法
- 普通成员变量与静态成员变量的区别、普通成员方法与静态成员方法的区别
- 黑马程序员---Objective-C基础学习---点方法使用和成员变量的作用域
- 关于静态变量,成员变量,静态方法,实例方法的用法及区别
- 类和对象(字段=变量、方法=函数、方法重载、静态成员、属性、构造函数)
- 【Java 多态】多态中 静态方法的特点
- 图解Java多态内存分配以及多态中成员方法的特点
- static(静态)变量的作用、初始化特点以及类中静态数据成员的特点