首页 > 编程语言 > 详细

java整理部分知识点

时间:2020-05-16 10:20:44      阅读:52      评论:0      收藏:0      [点我收藏+]

java整理部分知识点

&& & || |

  • &&逻辑与 也叫做短路与 因为只要当前项为假,它就不往后判断了,直接认为表达式为假
  • ||逻辑或 也叫做短路或 因为只要当前项为真,它也不往后判断了,直接认为表达式为真
  • &按位与,可以进行位运算,boolean在内存中为二进制,所以科已经逻辑运算,但是需要计算全部的都为true才为true
  • |按位或,计算出所有的,全为false才为false

数组的写法

  • int a[][] = new int[3][3];
  • int []a[] = new int[3][3];
  • int[][] a= new int[3][3];

变量

  • 成员变量、方法
    没有用static修饰的变量和方法
  • 类变量、方法
    用static修饰的的变量和方法

重载(overlord):

  • 同名不同参数,可不同返回值的方法,叫重载。只和参数有关。
  • 两同三不同:
    同一类,同一名。 不同形参类型,不同形参个数,不同顺序。

继承

  • 子类只能继承父类非私有成员(方法和属性)(非静态),构造方法需要用super来调用。
  • 父类 父 = new 子类 先运行父类构造方法。
  • 关系
    • 子类是不继承父类的static变量和方法的。因为这是属于类本身的。但是子类是可以访问的。
    • 子类和父类中同名的static变量和方法都是相互独立的,并不存在任何的重写的关系。

继承成员变量之间的关系

  • 在子类方法中访问一个变量(同名)(就近原则)
    • 首先在子类局部范围找。
    • 然后在子类成员范围找
    • 最后在成类成员范围找
    • 还没有就报错(不能是父亲的父亲)

构造方法的关系

  • 子类的构造方法都会默认访问父类的空构造方法。
    • 子类的会继承父类的数据,可能还会使用父类的数据,所以,子类初始化之前,一定要完成数据的初始化。
    • 每个构造方法的第一条语句默认是:super()(必须放在第一行)

成员方法关系

  • 就近原则

单例模式

这个类在整个项目中只能被创建一次。

super 和 this

this三大作用:

this调用属性、调用方法、利用this表示当前对象。

super三大作用:

super调用父类的属性、父类的调用方法、利用tsuper表示当前父类的对象。

在构造方法中

super,在构造方法中,调用父类的构造方法,且只能在第一行。
This在普通方法中,指的是哪个对象?在构造方法中,指的是?

重写(override):

  • 继承的父类,再写一个和父类一样的方法,叫重写,运行时,运行子类的,不运行父类的。
  • 方法名,参数类型要与父类的相同,返回值类型和抛出异常与父类相等或者更小。
  • 子类方法权限的应比父类更大或者相等。
  • 子类重写父类的方法后,调用父类的方法,需要super.方法名。父类的private方法,子类访问不到。

代码块

细节都在注释里面了。


public class CodeBlock {
	static {
		System.out.println("这是一个CodeBlock static代码块");
	}

	public static void main(String[] args) {
		A a = new A();
		A a1 = new A();

		{// 在代码块中的有效,用完被回收
			int x = 5;
			System.out.println(x);
		}
		// System.out.println(x);
	}

}

class A {

	// 无论创建多少对象,就只运行一次。而且优先创建对象运行
	static {
		System.out.println("这是一个A static代码块");

	}
	// 构造方法的代码块,每次创建对象都会先运行这个代码
	{
		System.out.println("这是一个A 没static代码块");

	}

	public A() {
		System.out.println("这是A的一个构造方法");
	}

}

同时导入两个同名包

import 只能导入一个。第二个使用的时,需要连指定路径都指定。

final

  • 作用修饰变量、类、方法。不可以被改变
  • 特点
    • 修饰类 不能被继承
    • 方法 不能被重写
    • 变量 只能被赋值一次,不能更改

多态

  • 概述
    • 某一个事物,在不同时刻表现出来的不同状态
  • 多态的前提条件
    -有继承关系
    • 有方法重写
    • 有父类引用指向子类对象
  • 案列
    • 父类父亲=new子类() ;
    • 这里放代码图片
  • 成员访问特点
    • 成员变量
      • 编译看左边,运行看左边
    • 成员方法
      • 编译看左边,运行看右边
    • 静态方法
      • 编译看左边,运行看左边
  • 好处
    • 提高了程序的维护性
    • 提高了程序的扩展性
  • 弊端
    • 不能访问子类特有功能(如果一 定要访问怎么
  • 转型问题
    • 向上转型
      • 从子到父
      • 父类引用指向子类对象
    • 向下转型
      • 从父到子
      • 父类引用转为子类对象
    • 例子:
      • 小慧装爹
  • instanceof
    -instanceof运算符的前一个操作数通常是一个引用类型变量 后一个操作数通常是一个类/接口。 它用于判断前面引用变量所指向的具体对象是否是后面这个类,或者后面这个类的子类,或者后面这个类的实现类的一个实例对象。 是则返回ture, 否则返回false。

抽象类

  • 概述
    • 在Java中,一个没有方法体的方法应该定义为抽象万法,而类中如果有抽象方法,该类必须定义为抽象类。
  • 特点
    • 抽象类和抽象方法必须用abstract关键字修饰
    • 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
    • 抽象类不能被实例化
    • 具体方法由具体子类实现
    • 抽象类的子类要么是抽象类,要么重写(实现)所有的抽象方法
  • 成员特点
    成员变量可以是变量, 也可以是常量
    • 有构造方法,但是不能实例化。它的作用在于子类访问父类数据时做初始化
    • 成员方法可以有抽象方法(限定子类必须完成某些动作),也可以有非抽象方法,提高代码复用性
  • 问题
    • 一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
    • 关键字共存问题
      • private 冲突
      • final冲突
      • static无意义

java整理部分知识点

原文:https://www.cnblogs.com/friend-c/p/12898654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!