随心笔记

  1. 多态(Polymorphism):即某一类事物的多种表现形态。(父类型的引用指向子类类型的引用,也可以接收子类类型的对象)多态的出现,大大的提高了程序的拓展性。多态的前提必须是类与类之间有关系,要么继承,要么实现。通常还有一个前提,存在覆盖。多态同样存在弊端,虽然提供了拓展性,但是只能使用父类的引用访问父类中的成员。
  2. 在多态中,可以以父类的引用指向子类的对象(Animal a = new Cat();)此为类型提升,接下来,同样可以将父类的引用强制转换成子类的类型(Car c = (Car)a;)但是,将父类对象转换为子类类型是错误的(Animal a = new Animal(); Cat c = (Car) a)。
  3. Instanceof关键字:即判断一个对象是否是一个类的对象。
  4. 在多态中成员函数的特点:在编译时期,参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有,编译失败。在运行时期,参阅对象所属的类中是否有调用的方法。简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
  5. 在多态中成员变量的特点,都参考左边(引用型变量所属的类)
  6. 在多态中,静态成员函数的特点,无论编译和运行,都参考左边。
  7. Object类:是所有对象的直接或者间接父类。
时间: 2024-08-09 10:36:09

随心笔记的相关文章

python随心笔记

1 print "hello,world" #打印hello,world print “1+1” #打印字符串 1+1 单引号和双引号是单行字符串 print ["1+1" "+" "2+2" " " *2]*2 print ('''This is the first line This is the second line lont line''') #三引号是多行字符串,可以直接输入回车,而不需要用\n

随心笔记---布局设计

在界面设在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: FlowLayout,依次放置组件. BoarderLayout,将组件放置在边界上. CardLayout,将组件像扑克牌一样叠放,而每次只能显示其中一个组件. GridLayout,将显示区域按行.列划分成一个个相等的格子,组件依次放入这些格子中. GridBagLayout,将显示区域划分成许多矩形小单元,

Java 随心笔记2

一.变量 数据类型 变量名 = 变量值 注意:变量使用时需要赋值,不赋值不能使用: 变量使用有作用域的限制: 变量不可以重复定义 : 关键字不能作为变量名.二.解决不同数据类型操作的困惑 1)X进制:逢X进一:常见的二.八.十.十六进制. 2) 进制转换: 任意进制到十进制:系数*基数的权次幂相加 十进制到任意进制:除基倒取余 计算机是以二进制形式存在,以补码的方式进行保存和计算 源码 反码 补码byte b = (byte)130;130: 源码 1000 0010反码 负数首位不变 其他位取

Java 随心笔记4

一.数组 存数(多个同种数据类型)变量只能存储一个数据 总结:当我们遇到存储多个数据类型的数据时,可以用数组 1)定义数组 格式:数据类型 [] 数组名 数据类型:java提供的数据类型 []: 数组 数组名:合法的标识符 2)初始化数组 a:初始化:给数组元素分配内存空间并赋值: int[] arr; b:如何初始化 动态格式: 数据类型[] 数组名 = new 数据类型[长度] new int[2] 动态初始化,系统默认值int 0 一般格式:int[] arr = new int[2];

Java 随心笔记5

1.修改 list.get(i).name = name_1;一.封装 1.成员变量增加private,在其他类访问成员变量,无法访问 2.无关成员方法,因为方法还用public来修饰 作用: 1.提高了代码的复用性. 2.隐藏了实现细节,还要对外提供可以访问的方式.便于调用者的使用.这是核心之一,也可以理解为就是封装的概念. 3.提高了安全性. 通过set赋值,get取值: 成员变量: 1.成员变量系统会自动提供初始化值 2.this:泛指对象,具体指哪个对象,不确定:谁调用this,this

Java 随心笔记6

一.成员变量和局部变量(思考) 类中位置不同:成员变量在类中,方法外: 局部变量在方法内或方法声明上 内存中位置不同:成员变量堆内存,局部变量栈内存: 生命周期不同:成员变量随着对象存在而存在,局部变量变量随方法调用而存在,方法调用完毕结束而消失 初始化值不同:成员变量有默认的初始化值,局部变量没有,先定义赋值才能使用. 参数传递时传递的值 二.类的初始化 加载class进内存 ==>在栈内存中为s开空间 ==>在堆内存中为学生对象开辟空间(new 类) ==>对学生对象的成员变量进行默

不管你高不高兴我都要说的话(1) -- 我培训经历心得感想

注:纯属牢骚,大牛大神大虾请自动略过,提供一个参考,对与不对自己分辨,我只想说我想说,不管你高不高兴~ 2012年大学毕业,在学校,一直想好好学点什么,而且我确实对编程很感兴趣.但是沉浸在游戏中,让我在编程反面缺乏了实践经验.在学校的代码实践不超过5000行.于是,2011年在大四第一学期,学过java.C++.C以及数据库和数据结构的我选择了JAVA培训机构.因为人云亦云的没有项目经验找不到工作,让我们这帮缺乏社会经验和实际找工作经验的学生顿时慌了.现在想想,或许是因为自己对自己的技术和能力太

mysql 学习网址及博客

国外技术网站(MS SQL) RssBRENT OZAR Rsshttp://www.qdpma.com/ Rssmssqltips Rsspaul blogs RssSQL Server Customer Advisory Team Rsssqlblog 行者无疆(LINUX&UNIX) RssTim Yang RssDutor博客 Rssibm developerworks RssiTech博客 RssLinuxTOY RssLinux官方网站 Rssmyfreelinux Rss安全攻防指

salt-minion 和salt-master之间重新认证

随心笔记,如有错误 欢迎指正. salt minion 和salt master之间重新建立认证 修改了minion端的id之后 比如修改了hostname之后, minion端会将minion的id 存放在/etc/salt/minion_id 文件中,重启不会改变.所以要重新认证就需要以下2步: 1.清空minion_id >/etc/salt/minion_id 2.删除minion存放masterkey的文件pki文件夹下所以的东西 rm -rf /etc/salt/pki/* 3.重启