Java 遇到问题理解
来源:互联网 发布:淘宝花呗立刻能还吗 编辑:程序博客网 时间:2024/05/27 03:28
存在问题:
Java值传递与引用传递。
按值传递 指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下:
- public class TempTest {
- private void test1(int a){
- //做点事情
- }
- public static void main(String[] args) {
- TempTest t = new TempTest();
- int a = 3;
- t.test1(a);//这里传递的参数a就是按值传递
- }
- }
按值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。
2:按引用传递是什么
指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。
示例如下:
- public class TempTest {
- private void test1(A a){
- }
- public static void main(String[] args) {
- TempTest t = new TempTest();
- A a = new A();
- t.test1(a); //这里传递的参数a就是按引用传递
- }
- }
- class A{
- public int age = 0;
- }
说明
(1):“在Java里面参数传递都是按值传递”这句话的意思是:按值传递是传递的值的拷贝,按引用传递其实传递的是引用的地址值,所以统称按值传递。
(2):在Java里面只有基本类型和按照下面这种定义方式的String是按值传递,其它的都是按引用传递。就是直接使用双引号定义字符串方式:String str = “Java私塾”;
运算符的优先级。:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html
接口与抽象类。 :http://www.importnew.com/12399.html
抽象类是用来捕捉子类的通用特性的 。
接口是抽象方法的集合。
case 传递问题。
匿名内部类。
匿名内部类也就是没有名字的内部类
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但是使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
实例1:不使用匿名内部类来实现抽象方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
abstract
class
Person {
public
abstract
void
eat();
}
class
Child
extends
Person {
public
void
eat() {
System.out.println(
"eat something"
);
}
}
public
class
Demo {
public
static
void
main(String[] args) {
Person p =
new
Child();
p.eat();
}
}
运行结果:eat something
可以看到,我们用Child继承了Person类,然后实现了Child的一个实例,将其向上转型为Person类的引用
但是,如果此处的Child类只使用一次,那么将其编写为独立的一个类岂不是很麻烦?
这个时候就引入了匿名内部类
实例2:匿名内部类的基本实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
abstract
class
Person {
public
abstract
void
eat();
}
public
class
Demo {
public
static
void
main(String[] args) {
Person p =
new
Person() {
public
void
eat() {
System.out.println(
"eat something"
);
}
};
p.eat();
}
}
运行结果:eat something
可以看到,我们直接将抽象类Person中的方法在大括号中实现了
这样便可以省略一个类的书写
并且,匿名内部类还能用于接口上
0 0
- Java 遇到问题理解
- java遇到问题
- 遇到的问题java
- java遇到的问题
- 整理CSerialPort 的理解。遇到的问题
- shell 的理解及遇到的问题
- MTU 理解和遇到的一些问题
- java学习遇到的问题
- java中遇到的问题...
- java中遇到的问题
- 遇到java.lang.NoSuchMethod问题
- java编译遇到的问题
- 我遇到的java问题
- Java命令,打包遇到问题
- Java初学遇到的问题
- [Java]入门遇到的问题
- java面试遇到的问题
- Java编译遇到的问题
- 3.3.1. vector 对象的定义和初始化
- Tomcat favicon.ico 404的问题
- 实现记住密码功能(SharedPreferences的使用)与强制下线
- 常用类:
- 数据库SQL语句 SELECT LIKE like用法详解
- Java 遇到问题理解
- Math类:
- 1.2.5 计算机系统的多级层次结构
- c的日志库
- apply和Call区别
- Bitmap的加载和Cache
- 第25周-window程序设计(基础篇)-第3章-注册窗口类别1
- 1110. Complete Binary Tree
- 判断一个数是否为超级素数