Java小结

1.和C/C++相比,JAVA是鲜明的引用传递语言,而且因其强语言特性(即必须指定变量指向值的类型),引用性相比Python也体现的很明显,例如可以直接class[] x = new class[n];定义所谓的指针数组(对象数组),然后依次x[0] = new class();传递对象引用。

2.JAVA源文件中只能有一个公有类,但可以存在多个非公有类;类可以访问同一个包下所有的类(包括一个源文件中的公有类和非公有类)以及访问其他包下的公有类。

3.JAVA使用import命令引入其他包下的公有类,不同于Python引入是模块,然后通过模块调用其中的变量,函数以及类。

4.面向对象中类的属性方法可分为两种:静态属性方法以及对象属性方法。静态属性方法可直接从类逻辑块中调用,非静态属性方法则需要实例化对象后从对象逻辑块中调用。

P.编程语言拓扑
这里写图片描述

1.指针即数据结构和逻辑代码块的内存地址,在值传递语言中通过对变量和代码标识符(函数,类,对象)取指针操作获得,在引用传递语言中直接引用传递。

2.所有的语言实现机制中都有指针的存在,在传统值传递语言(C/C++, Perl)中,因为变量都是值传递因此指针显式传递;在引用传递语言(python, Java)中,指针隐式传递,即单值变量仍然使用值传递,而其余的数据结构变量则直接传递指针,但该过程由语言自身自动实现无需使用指针操作符,该特性通常称为引用。所谓的引用即隐式指针传递,并且引用可以直接变量使用无需解指针操作。

3.因为JAVA的引用特性,因而JAVA中变量的类型声明意义在于指明变量指向的内存数据类型或者变量指向内存指针索引内存数据的类型,考虑到在C++中声明数组指针(int (*p)[n])和指针数组(int *p[n])的语法,JAVA的确代表着发展趋势。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java多线程是指在一个Java程序中同时执行多个线程,每个线程都是独立的执行流。Java中创建线程的方式有三种:继承Thread类、实现Runnable接口和实现Callable接口。每种方式都有其优缺点。 1. 继承Thread类创建线程类: ```java class MyThread extends Thread { public void run() { // 线程执行的代码 } } // 创建线程对象并启动线程 MyThread thread = new MyThread(); thread.start(); ``` 优点:简单易用,可以直接重写Thread类的run()方法。 缺点:由于Java不支持多继承,继承了Thread类就无法再继承其他类。 2. 实现Runnable接口创建线程类: ```java class MyRunnable implements Runnable { public void run() { // 线程执行的代码 } } // 创建线程对象并启动线程 Thread thread = new Thread(new MyRunnable()); thread.start(); ``` 优点:避免了单继承的限制,可以继续继承其他类或实现其他接口。 缺点:需要额外创建Thread对象,并将Runnable对象作为参数传递给Thread对象。 3. 实现Callable接口创建线程类: ```java class MyCallable implements Callable<Integer> { public Integer call() throws Exception { // 线程执行的代码 return 0; } } // 创建线程池对象 ExecutorService executor = Executors.newFixedThreadPool(1); // 提交Callable任务并获取Future对象 Future<Integer> future = executor.submit(new MyCallable()); // 获取线程执行结果 int result = future.get(); ``` 优点:可以获取线程执行的结果,并且可以抛出异常。 缺点:相对于前两种方式,使用Callable需要更多的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值