博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习笔记之基础知识
阅读量:4539 次
发布时间:2019-06-08

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

1、class不加修饰符默认default,只在当前包里能用。

2、构造函数前面的修饰符的作用类似class的,限制引用的权限。

3、java对象的创建其实就是类的实例化,类的实例化就是在堆上copy整个类的成员变量和方法,然后调用相应的构造函数初始化,对象的名字其实就是一个引用,指向实例化的类,对象名保存在栈里。

4、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

  可以有多个类,但是只能有一个public类,并且该public类名与文件名相同。

5、&和&&的区别?

都能做为逻辑与的作用,但是if(null!=str && str.equals(""))和if(null!=str & str.equals(""))是有区别的,前面一种&&只要第一个条件判定为false,第二个条件就不会判断;&则两个条件都会判断,所以如果str是null的话会抛出NullPointerException异常。&还能做 位 运算符。

6、final关键词修饰的变量是值不能改变,还是引用不能改变?

        final int n=100;//n不能再赋其它值了

        final String ss="hello";//ss不能再赋值了
        final StringBuilder sb=new StringBuilder("hello");
        sb.append("world");//sb可以改变值,但是不能重新修改引用的值,比如:sb=new StringBuilder("world")

    所以 void f(final StringBuilder sb){}  这种赋参数的方式的并不能保证参数不会在方法里面不能修改。

7、java中方法的重载overload跟返回值类型和修饰符无关,但是方法名一定相同,参数一定不能相同;如果参数相同则不知道调用哪个,会报错。

java中的override是重写父类的方法,那么该类的对象调用该方法时就会调用自己的,而不是父类的。

8、java中实现线程操作的几种方法:

(1)继承自Thread类,重写run()方法,对象.start()启动线程;

(2)new Thread(new Runnable(){}).start();继承自接口Runnable,并且实现run()方法,就可以创建线程了;

(3)线程池操作,pool=Executors.newFixedThreadPool(poolSize);pool.execute(new Thread());

还有其它种类线程池,如:

Executors.newCachedThreadPool().execute(new Runable(){publicvoid run(){}});

 

Executors.newSingleThreadExecutor().execute(new Runable(){publicvoid run(){}});

 

未完待续。。。

 

转载于:https://www.cnblogs.com/nannanITeye/p/3304395.html

你可能感兴趣的文章
linux复习一
查看>>
系统特殊路径一览
查看>>
R语言演示功能
查看>>
深入理解Lua的闭包一:概念、应用和实现原理
查看>>
Entity Framework Code First属性映射约定
查看>>
Objective-C代码混淆
查看>>
【代码笔记】iOS-gif图片播放
查看>>
XML解析--xPath技术
查看>>
struts MVC
查看>>
C#高级编程 (第六版) 学习 第一章:.Net体系结构
查看>>
Ubuntu下搭建jsp开发环境
查看>>
理解django框架中的MTV与MVC模式
查看>>
Trie树(字典树)
查看>>
传输介质
查看>>
MyBatis学习(十二)--懒加载
查看>>
实时爬取上海快3的结果
查看>>
POJ 3050
查看>>
SSL/TLS加密传输与数字证书解读
查看>>
在xcode中用 swift 进行网络服务请求
查看>>
swift 如何在IOS应用图标上添加消息数
查看>>