`

java中一些基础却又非常重要,容易忽略的小知识

阅读更多

java基础非常重要,最近一段时间面试碰到的问题,现在做了个总结

1、关于接口方面

1-1、接口中的所有属性都是final类型的

1-2、接口中不能含有静态方法,抽象类中也不能。可以总结为,static方法只能存在于具体实现类中(static,abstract         不能同时修饰一个方法)

 

2、关于构造函数

2-1

 

 

class MyClass2{
	public static void main(String[] args) {
		new MyClass2();
	}

	public MyClass2() {
		MyClass2 m1=this;
		MyClass2 m2=this;
		synchronized (m1) {
			System.out.println("enter in synchronized");
			try {
				m2.wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		System.out.println("class load all");
	}
}

 

 以上程序运行后会一直阻塞

 

2-2、

class MyClass2{
	public static void main(String[] args) {
		new MyClass2();
	}

	public MyClass2() {
		System.out.println("...");
		MyClass2 m=new MyClass2();
//		MyClass2 m1=this;
//		MyClass2 m2=this;
//		synchronized (m1) {
//			System.out.println("enter in synchronized");
//			try {
//				m2.wait(3000);
//			} catch (InterruptedException e) {
//				e.printStackTrace();
//			}
//		}
//		System.out.println("class load all");
	}
}

 以上函数运行一段时间后会抛出java.lang.StackOverflowError,堆栈溢出,若换成以下版本则不会抛异常

class MyClass2{
	static long i=0;
	public static void main(String[] args) {
		new MyClass2();
	}

	public MyClass2() {
		System.out.println("...");
		i++;
		MyClass2 m=null;
		if(i<1000) 
		     m=new MyClass2();
	}
}
 
分享到:
评论
3 楼 zk1878 2011-07-08  
freish 写道
都不怕新手贴啊

  无所谓,发帖只为对自己有用就行啦
2 楼 freish 2011-06-24  
都不怕新手贴啊
1 楼 bugmenot 2011-06-23  
zk1878 写道
1-2、接口中不能含有静态方法,抽象类中也不能。

抽象类可以有静态方法呀。倒是内部类不能有静态方法。

相关推荐

    JavaIO流详解归纳.pdf

    特别是对于初学者而言,IO 部分是容易忽略的内容,但是在项目开发中,IO 是非常基础的部分。 此外,Java 也对块传输提供支持,在核心库 java.nio 中采用的便是块 IO。块 IO 效率很高,但编程比较复杂。流 IO 的好处...

    JAVA基础易错总结(50%你不知道)

    大鹏的"JAVA基础易错总结"涵盖了这些重要的知识点,并且可能还揭示了一些鲜为人知的陷阱。通过深入学习和实践,开发者可以避免这些常见错误,提升Java编程的水平。希望这份资料能成为你Java学习旅程中的宝贵财富。

    java基础知识.doc

    以下是一些关于Java基础知识的关键点: 1. **面向对象的特征** - **抽象**:抽象是将复杂的现实问题简化为更容易理解的概念,它允许我们忽略不相关的细节,专注于核心功能。在Java中,抽象通过抽象类和接口实现,...

    学习java的积点忽略之处

    以上只是学习Java过程中容易被忽略的一些知识点,实际上,Java的世界远比这复杂。持续深入学习,不断实践和总结,才能真正掌握这门语言。阅读和记录读书笔记,是提高学习效率的有效方式,希望我的笔记能对你有所帮助...

    Java学习时容易陷入的误区

    2. **忽视基础知识的重要性**:很多学习者过于关注特定框架或库的使用,而忽略了基础编程知识。基础是支撑高级应用的基石,比如数据结构、算法、设计模式等。要确保在学习Java的同时,也深入理解这些基础知识,这将...

    Java自学之道

    在快速入门Java的过程中,初学者很容易忽略基础知识的学习,比如环境变量的配置、基本语法、关键字和标识符命名规则等,这些都是构建Java应用程序的基石。本书的这些内容对于想要真正掌握Java的读者来说非常重要,它...

    Java学习七宗罪

    很多学习者在掌握了基础语法之后就急于学习高级特性,忽略了基础知识的重要性。实际上,扎实的基础是学习更高级知识的前提。因此,在学习新知识之前,要确保已经完全掌握了基础知识。 #### 七、忽视英语学习 最后...

    Java_IO流详解

    对于初学者而言,IO 部分是容易忽略的内容,求职者一定要掌握该知识点。 Java 的 IO 模型设计非常优秀,它使用 Decorator 模式,用户可以动态装配不同功能的 Stream,以便获得需要的功能。例如,需要一个具有缓冲...

    java初学者的工具ppt文件

    嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣、而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看…… 2. 准备一下 请不要把你的学习Java之路和其它计算机技术分开...

    Java变量初始化

    Java 变量初始化是 Java 语言的基础知识点之一,但也往往被学习者所忽略。 Java 变量初始化的时机是指在 Java 语言中变量的初始化过程,包括变量的声明、初始化和赋值的步骤。 Java 变量声明 在 Java 语言中,每个...

    java基础知识

    ### Java基础知识概览 #### 一、面向对象的四大特征 ...以上内容总结了Java基础知识的核心要点,对于Java初学者和开发者来说都是非常重要的知识点。掌握这些基础知识有助于更好地理解和应用Java语言。

    个人笔记--JAVA基础

    ### 个人笔记--JAVA基础 #### 一、初识Java **1.1. Java语言是什么** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它被设计为简单、面向对象、分布式、解释型、健壮、安全、与体系结构...

    java内功讲座!.doc

    【Java基础知识的重要性】 Java编程语言是互联网开发领域中不可或缺的一部分,尤其在企业级应用开发中占据主导地位。然而,很多开发者在追求Weblogic、Oracle、XML等先进技术的同时,容易忽视了Java基础知识的积累...

    java初学者福音

    在Java学习的初期,掌握一些核心概念和最佳实践是至关重要的。以下将详述几个关键知识点,帮助你扎实基础,避免常见错误。 1. 面向对象的设计法则: 面向对象编程(OOP)是Java的核心。一些基本的设计法则包括: - ...

    java面试题集基础篇下载

    ### Java面试题集基础篇知识点解析 #### 一、面向对象的特征 **1....- **定义**: 抽象是指在程序设计过程中,通过忽略对象中与当前目标无关的部分,来...对于准备Java面试的开发者来说,理解这些基础知识是非常重要的。

    JAVA程序员面试至尊宝典.doc

    ### JAVA程序员面试至尊宝典知识点总结 #### 一、面向对象的...此外,了解 Java 数据类型、异常处理机制以及 Servlet 的工作原理也是非常重要的,这些知识点不仅有助于面试准备,也是日常开发工作中不可或缺的部分。

    Java自学编程误区.pdf

    综上所述,Java自学过程中存在多种误区,包括对编程语言的选择犹豫不决、忽视基础知识的学习、缺乏实践操作、不善于总结和反思、遇到问题容易放弃以及社交学习的重要性等。克服这些误区需要正确的方法论指导和个人的...

    java-spring经典教材

    ### Java-Spring经典教材知识点概览 #### 一、Spring框架简介 **Spring**是当前最流行的Java企业级应用开发框架之一。它以其强大的功能、轻量级的设计以及易用性受到全球数百万开发者的青睐。Spring框架由Rod ...

Global site tag (gtag.js) - Google Analytics