首页 > 其他分享 >abstract; final; 属性赋值的先后顺序; 静态变量与实例变量的区别; instanceof关键字的使用; super定义?使用?线性查找代码实现

abstract; final; 属性赋值的先后顺序; 静态变量与实例变量的区别; instanceof关键字的使用; super定义?使用?线性查找代码实现

时间:2023-01-02 21:33:17浏览次数:47  
标签:instanceof 变量 int 子类 abstract new final


abstract注意事项。abstract不能修饰:private,static,final这些方法。

abstract抽象要重写----》用来子类继承实现方法的
1、abstract不能用来修饰属性、构造器等
构造器不能被重写,只能重载
2、abstract不能修饰:private,static,final这些方法。
原因是
1 private是私有的,不利于abstract修饰的类进行重写—》超类与之类
2 static 方法是类方法,它是不允许子类重写
abstract是抽象的,相当于给你一张纸或者一个空包裹,让你去加东西,子类实现它的方法;
而static是静态方法,相当于一面墙,大家共享的,都可以在上面写东西,写的东西动态改变的,它不需要子类去重写override
3 final方法不能被重写,所有也不能被abstract修饰。

final《------》abstract
相反的,前者不能重写,后者可以重写

60.final是什么?为什么要用final?final、finally、finalize()区别?

1、final是什么

final初始化的值不可改变的final修饰的对象是不可以重新指向新的一个对象的,但是自身对象的内容可以进行改变。

2、final特点
不能被继承
初始化的值不变变量是一个常量,只能被赋值一次

3、为什么要用final
1 设计
设计过程中:方法行为不会被继承,不会别覆盖,即方法锁定(术语)
2 效率禁止覆盖时,提高编译器和JVM的工作效率。对目前final起到其他的优化作用,存争议。

4、final、finally、finalize()区别

finally:try…catch 最终操作finalize():清理内存垃圾用的(在垃圾收集器将对象从内存中清除出去之前做必要的清理工作)

57.属性赋值的先后顺序


1.默认初始化
2.显示初始化/代码块中初始化
3.构造器中初始化4.通过“对象.属性”或“对象.方法”井下赋值

public class Attributeinit { public static void main(String[] args) { IAttribute iAttribute = new IAttribute(); System.out.println(iAttribute.a); }}class IAttribute{ IAttribute(){ a = 4; } int a = 2; { a = 3; }}


结果

4

静态变量与实例变量的区别

1、静态变量static关键字修饰,为共享的,别人调用完后值是改变的。

2、实例变量也称非静态变量,不是共享的,每个对象都有一套实例变量,自己用自己的,不受别人对象的影响。

例子:
静态变量:腾讯文档在开放共享的时候,里面的数据其实就是静态变量,访问的用户可以对改文档的数据进行修改,动态修改,多人协作!实例变量:CSDN博客(管理员除外)里面自己写的文章,用户只能自己修改自己的文章,不能修改别人的文章!

instanceof关键字的使用

1、向上转型
—》子类-》父类
—》多态
2、向下转型
—》父类-》子类
—》instanceof关键字
3、instanceof关键字java中,instanceof运算符的前一个操作符是一个引用变量,后一个操作数通常是一个类(可以是接口),用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是返回true,否则返回false。

if—》对象a是否是类A的实例
—》yes—trueno—false

4、为什么要用为了避免在向下转型出现ClassCastExcepiton异常

super定义?使用?

1、定义
父类的,超类的
2、使用(子类的方法或构造器)
super.属性
super.方法子类、父类同名属性或方法时,我们想在子类中声明父类的属性 或 想在子类中调用父类的方法

线性查找代码实现


线性查找代码实现
if else…boolean…

package com.mb;public class Linear { public static void main(String[] args) { int a = 76; int[] arr = new int[]{1,2,3,4,6,7,78,987,76,2}; boolean isSearch = true; for (int i = 0; i < arr.length; i++){ if(a == arr[i]){ System.out.println(a + " is in arr[" + i +“]”); isSearch = false; break; } } if (isSearch){ System.out.println(a + " is not in arr"); } }}

结果

76 is in arr[8]

数组的理解?数组的使用?

1、什么是数组
同一种类型数据的集合。a[3]—>a[0] a[1] a[2]

2、数组的特点
1 数组是有序排列的
2 数组长度确定后不能做修改
3 数组是连续的内存空间4 —》基本数据类型、引用数据类型

3、为什么要用数组方便管理,提高开发效率,简化代码量

4、数组定义形式
一维数组
1 一般:String[] a = new String[3];
2 其他:String a[] = new String[3];
3 more: int[] a;
a = new int[]{1,2,3,23,34,34};4 可以是 int[] a = new int[]{1,2,3,23,34,34};

不能是int[] a = new int[6]{1,2,3,23,34,34};5 int[] a2 = {2,3,4,5,6,6};

随机产生一个数0-9999?静态与非静态属性及方法?

Random()随机数生成器

Random n = new Random();
int nextId = n.nextInt(10000);
System.out.println(nextId);


标签:instanceof,变量,int,子类,abstract,new,final
From: https://blog.51cto.com/u_14604401/5984155

相关文章

  • Go中的循环变量和闭包
    最近在写goroutine碰到了常见错误for_,val:=rangevalues{gofunc(){fmt.Println(val)}()}在这里,实际结果并不是预期的所有值都输出一遍(而是......
  • JavaScript 预解析-变量预解析,函数预解析
    JavaScript预解析目录JavaScript预解析1.预解析2.变量预解析和函数预解析2.1变量预解析(变量提升)2.2函数预解析(函数提升)学习目标预解析变量预解析和函数预解析......
  • JavaScript 作用域-作用域概述,变量作用域,作用域链
    JavaScript作用域-作用域概述,变量作用域,作用域链目录JavaScript作用域-作用域概述,变量作用域,作用域链1.作用域1.1作用域概述1.2全局作用域1.3局部作用域(函数作用......
  • javascript-数据类型-数据类型,获取数据变量的类型,数据类型的转换
    javascript-数据类型-数据类型,获取数据变量的类型,数据类型的转换目录javascript-数据类型-数据类型,获取数据变量的类型,数据类型的转换学习目标:1.数据类型简介1.1为什么......
  • Window系统下jdk安装以及环境变量配置
    本文主要记录一些在window系统下安装jdk的步骤,所用的系统是win10,jdk版本为jdk-8u181-windows-x64一.JDK和JRE安装1.首先到Oracle官网下载jdk,我这里选择的是64位window......
  • JavaScript-变量
    JavaScript变量目录JavaScript变量1.变量概述1.1什么是变量1.2变量在内存中的存储2.变量的使用3.变量语法扩展1.更新变量2.同时声明多个变量3.声明变量特殊情况4.......
  • Android_home配置环境变量
    Android_home配置环境变量 首先要先进入androidstudio找到androidsdk的安装路径,一般默认安装在c盘中,  进入设置,搜索SDK  推荐切换到D盘进入环境变量设置......
  • Stata:变量名称 及相关操作
    变量名称基本规则:由英文字母、数字或者_组成;需以英文字母或者_作为开头,区分大小写。举例合理名称:a1,a_1,_a1注意事项:“_”一般不作为首字母(因许多内部变量由“_”加字......
  • Stata 变量存储类型及显示格式
    1.变量的存储类型清楚变量的取值区间后设定数据存储的类型,可以降低Stata内存容量。①整数的存储类型Byte,字节型,取值±100Int,一般整数型,取值±32000Long,长整数型,取值±......
  • uboot --- struct global_data类型变量gd各成员含义
    uboot启动代码中,函数board_init_f()的一个功能就是配置变量gd的各个成员变量。首先获得DRAM的最高地址,然后每占用一块内存,往下减。下图为一个例子:gd->relocaddr:uboot第一......