Java编程基础(2)

1、main方法

(1)main方法被声明为public,这样Java虚拟机中的任何对象都能够调用它,同时它还被声明为static,这意味着main方法属于这个类,并不与该类的某个特定对象相关联

2、static方法

(1)这里提到了static方法,就要说一下,在一个方法前声明static的作用

  • 用static修饰后,它就会在内存中单独存放在一块内存中,跟变量、对象不是在一块内存中,当程序运行的时候,直接加载就好,无需new一个对象来调用,直接通过“类名.方法名”就可以调用
  • 被static修饰的成员变量和成员方法独立于该类的任何对象,也就是说它不依赖于特定类的实例,被类的所有实例共享
  • 静态方法不能直接访问非静态成员
  • 详细资料可以参考:Java中static作用详解

(2)一个类中一旦出现一个静态字段(也就是添加static),那么无论你创建多少个类对象,甚至一个对象也不创建,这个静态字段也都是存在的(且只有一个副本),不会随着你的对象变化而变化,它是独立,初始化的时候,也是初始化在对象创建之前,举个例子:

public class xyz {
	static double min=100000;
	
	public static double solution(int N) {   //一个静态方法
		for(int x = 1;x<N;x++){
			for(int y=1;y<N/x;y++) {
				double z =  Math.ceil(N/(x*y));
				double temp = x*y*z;
				if(temp<min)
					min = temp;
			}
		}
		return min*1000;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		System.out.println(solution(9));  //这里我调用上面的方法,却没有建立类对象,就是因为上面的方法是静态static方法
	}

}

(3)方法的名字和它的参数列表一起组成了方法的签名(signature,独一无二),这个说法很有道理

3、封装类

每一种基本数据类型(一共八种)都有与其对应的对象类型,一般称为包装器(wrapper)类,或者是封装类,类Integer就是int的包装器类。

4、注释

(1)单行注释——//,编译器会忽视出现在“//”之后的文字

(2)多行注释——/*和*/之间的文字

(3)文档注释——/**和*/之间的文字,这个一般出现在代码最上面,用于标注这个文档代码的功能和注意事项还有作者,创作日期等等

5、控制流

说起来非常简单,就是决定程序转给你待执行语句及其执行顺序的机制,比如while循环、for循环、if-else等等

6、创建对象

(1)通过包含有new关键字的表达式来创建的,从类的定义中创建对象也被称为实例化(instantiation),所以对象通常也被称为实例(instance)

(2)新建的对象将被分配到一个称作堆(heap)的系统内存区域中(这个可以参考:深入理解java的运行时区

(3)所有对象都是通过对象引用(object reference)来访问的,任何看起来存有某个对象的变量实际上保存的都是该对象的引用,这种变量类型成为引用类型,可以参考下面的代码:

int[]  reference = new int[3];

上面的代码中,reference就对象引用,而对象则是一个int数组,这个过程其实分为两步,第一步:new int[3]——名为创建了一个对象,第二步:int[] reference = ——这一步名为对象赋值给对象引用(实际就是将地址赋值给了reference)

7、垃圾回收器

在使用new创建一个对象之后,如何在我们不需要它的时候,去除这个对象呢?那就不再引用它,这就用到了垃圾回收器(Java虚拟机的一部分),未被引用的对象会自动地被垃圾回收器回收掉,垃圾回收器在后台运行,并跟踪着各个对象的引用,当一个对象不再被引用的时候,拦击回收器就可以将它从内存分配堆中移除,但是这并不是瞬时的,可能会出现延迟(比如隔一段时间,批量清理垃圾对象)

8、为什么要有接口

(1)这是一个初学者问题,可以说接口是为了定义某种标准,有时候我们只是想声明某个对象必须支持的某些方法,而不会为这些方法提供实现,只要这些方法的行为符合特定的标准,它们的实现细节无关紧要,这些声明定义了一个类型,任何实现这些方法的类都可以被认为具有这种类型,而不管这些方法到底是如何实现的。

(2)首先,接口与类相似,但是它的方法都是空的声明,实现接口的类必须支持实现方法(implements,也就是说要把这些空声明变为实际的方法)

(3)一个类可以实现多个接口

9、修饰符:


猜你喜欢

转载自blog.csdn.net/yuangan1529/article/details/80515122
今日推荐