栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础总结

目录
  • Java的一些特性:
          • 继承:
          • 多态:
          • 重载:
          • 重写:
  • Java关键字:
          • 1. assert:断言,一般用在测试类中。
          • 2. enum:是一个特殊的类,一般用来表示一组常量。
          • 3. instanceof:Java中的二元运算符,左边是对象右边是类。
          • 4. finally:和try catch一起用。无论程序是否正确执行,finally块都会被执行到。
          • 5. strictfp:FP-strict,精确浮点。用来声明类,方法,接口。在声明的域内浮点数运算完全按照IEEE-754标准进行运算。防止出现不同硬件平台运算结果不一致的问题。用的很少。
          • 6. super:用super();方法在子类构造方法中调用父类构造方法。如果父类的method()方法被子类重写,用super.method();在子类使用父类的方法。
          • 7. synchronized:
          • 8. throw:用来在方法体中抛出异常,需要和throws连用。
          • 9. throws:用来申明该方法可能抛出的所有异常,使用该方法时需要用trycatch捕获。
          • 10. transient:一个和序列化有关的关键字。更多细节:[Java transient关键字](https://www.runoob.com/w3cnote/java-transient-keywords.html)
          • 11. volatile :总结一下就是:不保证原子性,一定程度上保证有序性,保证可见性。
          • 12. final关键字:

Java的一些特性: 继承:
  • 子类无法继承父类的static方法和变量。
  • 子类可以继承父类的private成员变量,但是看不到。但是可以用父类提供的public方法改变这个成员变量。
  • 父类被final修饰的类可以被继承,不能被重写,至于能不能被看到取决于private。
//使用这种方法创建的对象son,只能使用Father拥有的变量和方法。
Father son = new Son();
多态:
  • 多态通过继承、接口来实现。子类通过重写父类方法或实现接口实现多态。在程序的编译阶段,
重载:
  • 重载的方法,名称和返回值一定要相同,传入的参数一定要不同。
重写:
  • 子类对父类可以访问的方法进行重写
  • 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(Java7之后的特性)
  • final修饰的方法不能重写。static修饰的方法子类可以重新声明。
  • 被子类重写的方法访问权限不能低于父类。
Java关键字:

abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while

1. assert:断言,一般用在测试类中。 2. enum:是一个特殊的类,一般用来表示一组常量。
//很多项目中都有一个专门的类来声明项目中用到的所有常量,所以enmu用的不多。
enum Color { //也可以声明在Test类中
    RED, GREEN, BLUE; 
} 
public class Test{
    public static void main(String[] args){
        Color c1 = Color.RED;
        System.out.println(c1);
    }
}
3. instanceof:Java中的二元运算符,左边是对象右边是类。

这个关键字可以理解成:a is an instance of B?只要返回真,a就可以强制转换成B。
Java编程规范要求,如果要使用向下转型,最好使用instanceof关键字判断能否进行转换。这对避免ClassCastException很有用。
更多细节:Java instanceof用法详解

//注1:null和任何类都是false
String s = "";
System.out.println(s instanceof String); //返回true
4. finally:和try catch一起用。无论程序是否正确执行,finally块都会被执行到。
  • finally块中有return时,将会覆盖try和catch块中的return。
  • 如果try或catch中有return,程序先将返回值存在某个地方,再执行finally,因此在finally中改变返回值没有用。
  • 在try中加System.exit(0)或者在try之外的地方出现错误,都会使得程序直接结束,不会执行finally
5. strictfp:FP-strict,精确浮点。用来声明类,方法,接口。在声明的域内浮点数运算完全按照IEEE-754标准进行运算。防止出现不同硬件平台运算结果不一致的问题。用的很少。 6. super:用super();方法在子类构造方法中调用父类构造方法。如果父类的method()方法被子类重写,用super.method();在子类使用父类的方法。 7. synchronized: 8. throw:用来在方法体中抛出异常,需要和throws连用。 9. throws:用来申明该方法可能抛出的所有异常,使用该方法时需要用trycatch捕获。
class Test {
	void test01() throws IOException, InterruptedException {
		//抛出异常
		throw new IOException("this is an IOException");
	}
}
//不处理异常,继续向上级抛出。
class Main1 {
	public static void main(String[] args) throws IOException, InterruptedException {
		Test test = new Test();
		test.test01();
	}
}
//使用trycatch处理异常。
class Main2 {
	public static void main(String[] args) {
		Test test = new Test();
		try {
			test.test01();
		} catch (IOExcpetion e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
10. transient:一个和序列化有关的关键字。更多细节:Java transient关键字 11. volatile :总结一下就是:不保证原子性,一定程度上保证有序性,保证可见性。
  • 对变量的写操作不依赖变量当前值、也不依赖其他变量的值时可以使用。
  • 可用于多线程中的状态标记量、线程安全的单例模式的双重检查锁中。
    更多细节:Java并发编程:volatile关键字解析
12. final关键字:
  • final修饰的基本数据类型变量一旦初始化就不能被修改。
  • final修饰的引用数据类型变量一旦初始化就不能改变其指向的地址。
  • final修饰的类不能被继承
  • final修饰的方法可以被继承,但不能被子类修改
    更多细节:浅析Java中的final关键字
final Object obj = new Object();
Object obj2 = new Object();
obj = new Object; //会报错。
obj = obj2;  //也会报错。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号