java分布式(类特性)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

java号称是最面向对象的语言。诚然,java克服了很多c++的缺点,同时兼具虚拟机、垃圾回收、跨平台等很多优点,java的确是一门非常优秀的语言。因此,我们有必要好好的说一说java的类特性。

1、主类和普通类

java文件的特点,决定了文件名和主类必须是一样的。假设文件是node.java,那么主类一定是public class node。至于其他的class只能是普通类。

class parent {

}

public class node {
	public static void main(String[] args){
		return;
	}
}

2、类函数和成员函数

如果函数可以通过类名可以直接访问,那么这个函数肯定是类函数,也就是static函数。当然,如果函数需要类实例化后才能访问,那么就是普通的成员函数。

public class node {

	public int process(){
		return 1;
	}

	public static void main(String[] args){
		return;
	}
}

3、继承、封装、多态

继承、封装、多态是面向对象的基本特性。这一点在java上面表现得淋漓尽致,因为几乎所有的文件都是类,连通用函数也被设计成static函数。

class parent {
	String name;

	public void parent(String name){
		this.name = name;
	}

	public void show(){
		System.out.println("parent");
	}
}

class child extends parent{

	public void show() {
		System.out.println("child");
	}
}

4、abstract类

abstract类是不能实例化的类,它一般由abstract function和普通function构成。有了abstract function,我们可以将那些需要定制化的function放到子类来处理。

abstract class parent {
	String name;

	public void parent(String name){
		this.name = name;
	}

	public void show(){
		System.out.println("parent");
	}
}

class child extends parent{

	@Override
	public void show() {
		System.out.println("child");
	}
}

5、interface类型

interface类型可以看成是abstract类的升级版。interface中的函数不允许实现。且interface中不允许出现成员变量,同一个子类可以实现多个interface,使用起来非常方便。这也相当于从另外一个角度实现了多重继承的功能。

interface process {

	public void show();
}

class child implements process{

	@Override
	public void show() {
		System.out.println("child");
	}
}

6、内部类

内部类,是指那些可以在function、class、public class内部定义的类。这些类一般用于本文件使用,主要是为了本地的数据管理使用,不对外公开。

class parent {

	class inner {
		
	}
}

7、匿名类

对于某一些只使用一次的子类,我们可以直接用匿名类进行编写。匿名类相当于一般的子类,只是我们使用的时候一般直接进行new处理,这相当于不需要对子类重新命名了,故由此得名而来。

class parent {

	class inner {
		void show() {}
	}

	inner i = new inner(){
		void show() {
			System.out.println("show");
		}
	};
}

8、异常类

异常类主要是以Exception为基础的类型,它主要用来处理NULL指针、除0运算、键盘中断、文件读取失败等异常。异常一般需要在function中显示进行throw处理。

public class node {

	public static void main(String[] args){

		try{
			int a = 5/0;
		}catch(Exception e){

		}
		return;
	}
}

9、类的泛型处理

类的泛型处理,这一点有点像c++下面的template。java下面除了String、StringBuffer、IO、File、InputStream、OutputStream这些类之外,就属Array、Set、Hash、Map这些泛型类用的最多,建议大家好好掌握。

class generic<E>{
	
}

原文 

https://blog.csdn.net/feixiaoxing/article/details/80587302

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » java分布式(类特性)

分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址