9.18

static存在的意义

  • static的主要意义是在于创建独立于集体对象的域变量或者域方法,以至于即使没有创建对象,也能使用属性和调用方法。
  • static关键字还有比较冠军的作用就是,用来形成静态代码块以优化程序性能,static块可以置于类中任何地方,类中可以有多个static块。在类初次被加载是,会按照static的顺序来执行每一个static块,并且只会执行一次。
  • static的优化程序性能主要是由于特性:只会在类加载的时候执行一次,因此,可以将一些只需要进行一次的初始化操作放在static代码块中进行。

static的应用场景

因为static是被类的实例对象所共享,因此如果某个成员变量是被所有对象所共享,那么就应该将该成员变量定义为静态变量。

因此常用场景有

  1. 修饰成员变量
  2. 修饰成员方法
  3. 静态代码块
  4. 修饰类【只能修饰内部类也就是静态内部类】
  5. 静态导包

注意事项:

  1. 静态只能访问静态
  2. 非静态既可以访问非静态也可访问静态

break ,continue ,return 的区别及作用

  • break跳出总上一次循环,不再执行循环(结束当前的循环体)
  • continue跳出本次循环,继续执行下次循环(结束正在执行的循环,进入下一个循环条件)
  • return程序返回,不在执行下面的代码,从哪来回哪去。

在 Java 中,如何跳出当前的多重嵌套循环

在Java中,可在循环语句前定义一个标号,任何在里层循环代码中使用带有标号的break语句,就可以跳出外层循环。

public static void main(String[] args) {
	ok:
	for (int i = 0; i < 10; i++) {
		for (int j = 0; j < 10; j++) {
			System.out.println("i=" + i + ",j=" + j);
			if (j == 5) {
				break ok;
				}
			}
		}
	}

抽象类和接口的对比

  • 抽象类是用于捕捉子类的通用特性的,接口是抽象方法的集合
  • 从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范

相同点

  • 接口和抽象类都不能实例化
  • 都位于继承的顶端,用于被其他实现或继承
  • 都包含抽象方法,其子类必须重写这些抽象方法

不同点

image

Java8中接口中引入默认静态方法和静态方法,以此来减少抽象类和接口的差异。

现在可以为接口提供默认的实现方法,并且不用强制子类实现它。

接口和抽象类各有优缺点,在接口和抽象类的选择上,必须遵守一个原则

  • 行为模型应该总是通过接口而不是抽象定义,所以通常是邮箱选用接口,尽量少用抽象类。
  • 选择抽象类的时通常是如下情况,需要定义子类的行为,又要为子类提供通用功能。

普通类和抽象类有哪些区别

普通类不能包含抽象方法,抽象类可以包含抽象方法

抽象类不能直接实例化,普通类可以直接实例化

抽象类能使用final修饰么?

不能,定义抽象类就是为了让其他类继承的,如果final修饰了就不能被继承了,二者相互矛盾,无意义,不能修饰

创建一个对象用什么关键字?对象实例于对象引用有什么不同?

new关键字,new创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放于栈内存中)。一个对象引用可以指向0个或者1个对象,(一个绳子可以不系气球,也可也系气球);一个对象可以有n个引用指向它(可以用n条绳子系住一个气球)

posted @   别亦难  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示