Java Little Knowledge
1.Constructor running order of Base class and Derived class
This is Alibaba's audition problem.
class A{ A(int x){ System.out.println(x); } } class B{ A m=new A(1); B(){ m=new A(2); } } class C extends B{ A n=new A(3); C(){ n=new A(4); } } public class ali { public static void main(String[]args){ new C(); } }
output :
1
2
3
4
java Is different from C#.
java:Base class first
Base class member define.
Base class constructor
Derived class member define.
Derived class constructor.
C#:member define first
Base class member define.
Derived class member define.
Base class constructor.
Derived class constructor.
2.Derived class constructor will call Base class constructor.
//子类的构造函数会调用父类构造函数 class one { public one(){ System.out.println("one"); } } class two extends one{ public two (){ System.out.println("two"); } public two(String s){ System.out.println("two "+s); } } class three extends two{ public three(){ this("haha"); System.out.println("three"); } public three(String s){ super("haha"); System.out.println("three "+s); } } public class Construct { public static void main(String[]args){ new three(); } }
3.i++
4.
5.
6.接口继承
interface A{ int n=3; void fun(); } interface B{ int n=3;//都是final类型的默认。 void fun(); } class C implements A,B{ public C(){ //n=4;//wrong ,ambiguous二义性 //A.n=4;//wrong,final 类型不可赋值 } public void fun(){//函数不会有二义性,只要有这个函数,就算实现了借口 } } public class InterfaceTest { public static void main(String[]args){ new C().fun(); } }
Java Little Knowledge的更多相关文章
- 10 Things Every Java Programmer Should Know about String
String in Java is very special class and most frequently used class as well. There are lot many thin ...
- Java 集合系列(四)—— ListIterator 源码分析
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素. Iterator 包含四个方法 ...
- Java 集合系列(三)—— LinkedList
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 LinkedList LinkedList是一种可以在任何位置进行高效地插入和删除操作的有序序列. 它的最基本存储结构是一个节点:每 ...
- Java 集合系列(二)—— ArrayList
ArrayList ArrayList 是通过一个数组来实现的,因此它是在连续的存储位置存放对象的引用,只不过它比 Array 更智能,能够根据集合长度进行自动扩容. 假设让我们来实现一个简单的能够自 ...
- java_对象序列化、反序列化
1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...
- Linux一些错误总结
1.cannot verify <mydomainname> certificate, issued by '/C=US/O=Let's Encrypt/CN=R3': 解决1:wget ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java Knowledge series 4
JVM & Bytecode Has-a or Is-a relationship(inheritance or composition) 如果想利用新类内部一个现有类的特性,而不想使用它的接 ...
- Knowledge Point 20180506 深究Java的跨平台特性
本章主题:从骨子里看Java的跨平台;本文内容部分摘自https://www.cnblogs.com/roger-yu/p/5827452.html 有过基础Java知识的开发人员都知道Java是跨平 ...
随机推荐
- Javascript为元素添加事件处理函数
document.getElementById("test").onclick = function(){ ... };
- CSS background-position 用法详细介绍
语法: background-position : length || length background-position : position || position 取值: length : ...
- dba诊断之IO
--查看占用系统io较大的session SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program ...
- [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)
本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...
- 我是如何来做网站优化(Seo)的?(一)
谈及网站优化(Seo)及搜索引擎优化,很多站长朋友都觉得发发外联就可以了,至少有一部分人是这样认为的. 这里唐建鹏博客将系统的从零开始学习网站优化(Seo),来解析如何从头包装我们的网络门户. 什么是 ...
- Python+excel实现的简单接口自动化 V0.1
好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态” ...
- bzoj-4517 4517: [Sdoi2016]排列计数(组合数学)
题目链接: 4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 846 Solved: 530[Submit][ ...
- 常用Meta整理
标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web 服务. ——W3School 必要属性 ...
- [No000063]Python格式化输出
python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...
- angular $http配置属性
$http请求的配置对象 $http()接受的配置对象可以包含以下属性: method:http请求方式,可以为GET,DELETE,HEAD,JSONP,POST,PUT url:字符串,请求的目标 ...