面向对象(一)——包、构造器、多态和instanceof
来源:互联网 发布:floyd算法找路径 编辑:程序博客网 时间:2024/05/02 15:17
类和对象是面向对象的核心
Java里方法的参数传递方式只有一种:值传递。
就是将实际参数值的副本传入方法内,而参数本身不会受到任何影响。
方法重载 :两同一不同。同一个类中方法名相同,参数列表不同。其他部分,如返回值类型、修饰符等与方法重载没有任何关系。
一旦在Java源文件中使用了package语句,则意味着该源文件里定义的所有类都属于这个包。
Java的包机制需要2个方面保证:1.源文件里使用package语句指定包,名;2.class文件必须放在对应的路径下。
如父包中类需要使用子包中的类,必须使用子包得全名,不能省略父包部分。
构造器是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但这个对象并不完全由构造器负责创建的。实际上,当程序员调用构造器时,系统会先伟该对象分配内存空间,并为这个对象执行默认初始化,这个对象已经产生了——这些操作都在构造器执行之前就完成了。也就是说,当系统开始执行构造器的执行体之前,系统已经创建了一个对象,只是这个对象还不能被外部程序访问,只能在构造器中通过this来引用它。当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回,通常还会赋给另一个引用型
变量,从而让外部程序可以访问该对象。
子类是一种特殊的父类。Java的子类不能获得父类的构造器。
多态
Java引用变量有两个类型:一个是编译时的类型,一个是运行时的类型。
编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。
如果编译时类型和运行时类型不一致,就会出现所谓的多态(Polymorphism)。
引用变量在编译阶段只能调用编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法
。Object p= new Person()代码定义一个变量p,则这个p只能调用Object类的方法,而不能调用Person
类里定义的方法。
instanceof运算符
instanceof运算符的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类(也
可以是接口,可以把接口理解成一种特殊的类),它用于判断前面的对象是否是后面的类,或者其子类,
实现类的实例。如果是,则返回true。
Object hello = " Hello";
hello instanceof Object true(String 是Object类的子类)
String true
Math false(Math 是Object类的子类)
Comparable true(String实现了Comparable接口)
String a = "Hello";
a instanceof Math 编译无法通过(String类既不是Math类,也不是Math类的父类)
- 面向对象(一)——包、构造器、多态和instanceof
- 面向对象(高级)————instanceof关键字
- 面向对象(高级)————instanceof关键字
- Java基础(面向对象一——理解、匿名函数、封装、构造函数和this关键字的使用)
- Javascript面向对象(十)——类检测instanceof
- C++——面向对象(一)——默认的构造函数(1)
- 面向对象之instanceof
- 面向对象--instanceof
- 面向对象--初始化块 和构造器
- 面向对象——包
- 面向对象--构造器
- Objective-c语言_面向对象(便利初始化函数,构造器和多态的结合)
- 重温面向对象的思想——构造器和重载
- 面向对象的编程——构造函数和析构函数(1)
- 面向对象的编程——构造函数和析构函数(2)
- 黑马程序员——Java基础---面向对象(构造方法和static关键字)
- Java面向对象——构造方法和关键字(static、this、final、super)
- php面向对象(OOP)—不同php版本构造方法的继承和兼容
- Java操作MongoDB
- RNA-Seq数据分析
- 【个人笔记】ubuntu下安装ssh
- thinkphp3.2.2使用rbac
- systemui 学习笔记一
- 面向对象(一)——包、构造器、多态和instanceof
- String 编码问题
- codeforces-#476B. Dreamoon and WiFi(dfs、二进制枚举)
- codeforces-#476A. Dreamoon and Stairs
- jquery自创弹框插件
- php使用strlen()判断中文汉字字符串长度
- Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]
- 什么是区域插值?
- 第七周项目2 求并联电阻阻值