J2SE知识点摘记(五)
1、 引用数据类型的传递
java用引用代替C++中的指针
fun()方法接收的参数是是Change c1,也就是说说fun()方法接受的是一个对象的引用,所以fun方法中所所做的操作就会影响原先的参数.
2、 Obeject是所有类的父类,其中的toString()方法是需要被覆写的.Object类中有有一个equals方法,此方法用于比较对象是否相等,而且此方法必须被覆写.equals没有被覆写时,实际上是调用了Object类中的equals方法,比较的是内存地址.
3、 子类转型成父类是向上转型,反过来说,父类转型成子类就是向下转型.但是,向下转型可能会带来一些问题:我们可以说麻雀是鸟,但不能说鸟就是麻雀.向下转型需要使用强制转换.判断一个类对象是否是另一个类的实例:if(o instanceof Person){}
4、 接口中没有构造方法.所以无法直接实例化.但是可以通过接口的子类对其进行实例化。
6、 如何理解Person aa=new Student()
如果Student继承Person的话、叫向下转型相反则为向上转型.意思就是创建一个Person 的aa对象但这个对象的实例来自于Student.只有有继承关系才能这样用.
例子:
interface Usb
{
public void start();
public void stop();
}
class MoveDisk implements Usb
{
public void start() {
System.out.println("MoveDisk start...");
}
public void stop() {
System.out.println("MoveDisk stop...");
}
}
class Mp3 implements Usb
{
public void start() {
System.out.println("Mp3 start...");
}
public void stop() {
System.out.println("Mp3 stop...");
}
}
class Computer
{
public void work(Usb u) {
u.start();
u.stop();
}
}
public class TestInterface
{
public static void main(String[] args)
{
new Computer().work(new MoveDisk());
new Computer().work(new Mp3());
}
}
J2SE知识点摘记(五)的更多相关文章
- J2SE知识点摘记(二十五)
Set 1.5.1 概述 Java 中的Set和正好和数学上直观的集(set)的概念是相同的.Set最大的特性就是不允许在其中存放的元素是重复的.根据这个特点,我们就可以使用Set 这个 ...
- J2SE知识点摘记(十五)
1. 字节流和字符流的转换 以字符为导向的stream基本上有与之相对应的以字节为导向的Stream,两个对应类实现的功能相同,只是操作时的导向不同 字节输入流转换为字符输入流: Inp ...
- J2SE知识点摘记-数据库(二)
一. 查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...
- J2SE知识点摘记(六)
1. static关键字的使用 static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类. static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯 ...
- J2SE知识点摘记(四)
1. 抽象类(abstract) 抽象类和抽象方法都必须用abstract关键字来修饰. 抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象. 抽象方法只需声明,而不需实现. ...
- J2SE知识点摘记(三)
1. 在java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类.但在java中却允许多层继承. 2. 非内部Class只能被public或者defaul ...
- J2SE知识点摘记(二)
1. 对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...
- J2SE知识点摘记(一)
1. 数组的声明时无法指定数组的长度. 2. 一维数组的声明和内存的分配 "数据类型 数组名[]; //声明一维数组 数组名= new 数据类型[ ...
- J2SE知识点摘记-数据库(一)
一. 数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...
随机推荐
- Wordpress 常用代码解释
1. 最新文章 Wordpress最新文章的调用可以使用一行很简单的模板标签 wp_get_archvies来 实现. 代码如下: <?php get_archives('postbypost' ...
- cocos2dx工程中接入支付宝sdk
1. 首先去支付宝官网下载开发者文档 2. 然后按着开发者文档将支付宝的sdk导入到你的工程中,并关联到工程中,步骤入下图: (1)将从支付宝官方网站获得的支付宝的sdk的jar包拷贝到工程中的lib ...
- 局域网内IP冲突怎么办
对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯.但IP地址冲突会造成网络客户不能正常工作,只 ...
- AIX安装SSH
AIX 7.1 进入 https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=aixbp 先下载需要的openssl,op ...
- redhat enterprise 6.3 x86_64 上安装VirtualBox详细教程
这个教程真难找..... 安装第一步遇到的问题就是不能使用yum安装包,这是由于redhat是收费版,所以需要更新yum源列表,具体可以参考 http://www.cnblogs.com/tina-s ...
- QT 绘制按钮 paintEvent enterEvent leaseEvent mouseEvent
案例2:绘制按钮 main.cpp #include<QApplication> #include “demoWidget.h” int main(int args , int arg ...
- OC基础5:继承
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.根类即是最顶层的类,父类也可称为超类: ...
- K-近邻算法python实现
内容主要来源于机器学习实战这本书.加上自己的理解. 1.KNN算法的简单描写叙述 K近期邻(k-Nearest Neighbor.KNN)分类算法能够说是最简单的机器学习算法了. 它採用測量不同特征值 ...
- ADO.NET DataSet、DataTable、DataRow、DataView的学习
对于一个datatable中的数据进行嵌套查询判断某几列数据是否相同从而确定这条数据是否一样,并确定他重复的次数COUNT1字段. 例如: DataTable dt = new DataTable() ...
- 从头开始-05.C语言中函数
函数: 完成特定功能代码段 特点:函数只有调用的时候才会执行 定义格式:返回值类型 函数名称(形参类型 形参名称,...){ 语句; ... } 函数参数 形式参数:在定义函数的时候,函数名后面小括 ...