博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 复习
阅读量:5050 次
发布时间:2019-06-12

本文共 901 字,大约阅读时间需要 3 分钟。

1. java的几个特点:

(1)与C++相比,语法简单;内存分配和回收不需要我们过多关注,C++可以多继承,java只能单继承。

(2)跨平台:在不同的操作系统中,JVM规范都是一样的,被jvm加载成各个操作系统所支持的,屏蔽了底层操作系统的差异。

2. 编译时多态和运行时多态:

(1)编译时多态。指函数的重载,实现的方式是根据函数的名字不同来调用的。

(2)运行时多态。

也叫动态绑定。是指执行期间(而非编译期间)判断所引用对象的实际类型,根据实际类型判断并调用对应的属性和方法。

例子:

abstract class Animal{

private String name;
Animal(String name){this.name = name;}
public void enjoy()
{
//子类对该方法不满意,重写
System.out.println("叫声");
}
}

待完成。。。

3. 抽象类和接口的区别:

(1)接口是对动作的抽象,抽象类是对根源的抽象。

例如:男人、女人,这两个类,他们的抽象类是人。人可以吃东西,狗可以吃东西。“吃东西”这个动作定义成接口。

(2)在高级语言中,一个类只能继承一个类(抽象类),却可以继承多个接口。

 

4.Java中有人分为值传递和址传递。引用传递也就是址传递。

比如下列的方法 public void add(int a) {
int b = a; } 这个可以看作是值传递,a是基本数据类型,他把他的值传给了b public void add(Object obj) {
Object objTest = obj; } 这个可以看作是址传递,obj是引用数据类型,是把他栈中指向堆中的对象的地址值赋值给了objTest. 这时候就同时有两个引用指向了堆中的某个Object对象 其实这样看来,java应该只有值传递的。如果是基本数据类型,传递的就是实际的值. 如果是引用数据类型,传递的就是该引用的地址值.

转载于:https://www.cnblogs.com/AchillesSnow/p/4575903.html

你可能感兴趣的文章
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
hostname
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
k8s架构
查看>>
select 向上弹起
查看>>
mysql 多表管理修改
查看>>
group by order by
查看>>
bzoj 5252: [2018多省省队联测]林克卡特树
查看>>
https 学习笔记三
查看>>
Oracle学习之简单查询
查看>>
log4j配置
查看>>
linux 配置SAN存储-IPSAN
查看>>
双链表
查看>>
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>