栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

KS-JAVA-Day2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

KS-JAVA-Day2

java和c#实现多态的区别
  • c#有三种方式实现多态:1.虚方法;2.抽象类;3.接口
  • java实现多态只需子类重写父类或接口的方法就行(父类方法不能被static、private、final修饰)。
  • c#中父类被重写的方法必须加上virtual或abstract关键字,而java中不用。
关于instanceof关键字的理解

A instanceof B用于判断是否能将A赋值给B(包括:强制转化赋值、隐式转换赋值)。如果能则返回true

代码块相关问题
  1. 普通代码块(直接用大括号扩住的那种),在类被实例化时就执行一次,早于构造函数。
  2. 静态代码块,在类**第一次初始化(加载、链接、初始化)**时执行一次,早于普通代码块和构造函数
try catch与throws

两者都能让代码消红(即让程序编译通过),但只有try catch能捕获异常。运气好没出异常则两者结果相同。运气不好处异常了则try catch可抓住该异常使程序继续运行,而throws则会将异常丢给jvm(如果沿途没有trycatch的话),导致程序停止。

关于synchronized代码块

synchronized括号中填入什么对象即可让该对象变成开启代码块的钥匙。如synchronized(A){code},第一个进程要访问code时会拿走A,访问完后会释放A。

实现多线程的两种方式
  • 让A继承Thread类,再重写run()方法。在new出A的实例调用start()方法。然后由于A继承了Thread,所以A可用Thread中的种种功能。(注意不要调用run()方法,不然只会单纯执行run()方法而不是开启一个线程执行run()方法)
  • 让A实现Runnable接口,再new一个Thread类将A传入,之后操作这个Thread类就行了。
静态代理模式
  • 真实对象和代理对象要实现同一个接口(为什么?因为这样可以规范双方,确保双方都为了干同一件事)
  • 代理对象要代理真实角色
  • 多线程的就是静态代理模式,Thread类和自己写的类都实现了Runnable接口,Thread负责提供一系列功能,自己的类专注实现某个方法
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/925190.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号