其他分享
首页 > 其他分享> > 20204021

20204021

作者:互联网

关于方法的重载: 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。   方法重载具体规范          一.方法名一定要相同。

二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

三.方法的返回类型、修饰符可以相同,也可不同。

 首先声明什么是静态方法:
  1. 用static修饰的方法
  2. 静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。 
其次说明静态方法的使用:
  1. 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。
  2. 而实例方法只有后面这种方式。
也就是说,只有调用静态方法时可以无需创建对象。
1:AB为一个类,可以不创建对象,直接使用AB.method  ("类名.方法名"的方式)   ---------------所以method是static修饰的静态方法
2:其次method无返回值
----------------所以method是void类型的方法.
所以选B   static void method(); java中的构造方法review 构造方法的特点: 构造方法名与类名相同 构造方法没有返回值 类型,也不写void 构造方法可以重载   构造方法的作用: 在创建对象时,给属性赋初值 构造方法何时使用 构造方法在创建对象时被调用   构造方法的分类: 显示的构造方法和隐式的构造方法 当声明了构造方法时,系统不会提供隐式的默认的无参构造方法 Java只支持单继承,实现多重继承三种方式:(1)直接实现多个接口 (2)扩展(extends)一个类然后实现一个或多个接口  (3)通过内部类去继承其他类

本题需要注意一点:a、b、c三个变量是定义在方法中的局部变量,使用前必须初始化,否则就会出现错误。

当我们新建一个对象时,Java会在Heap中申请一块内存区域用以存放类的数据。而成员变量就是类的数据,也是放在这块内存区域中的。初始化时只需要JVM在申请内存的时候顺便把整块区域都置为零即可完成。所以JVM会自动帮我们完成全局变量的初始化。

对于方法的局部变量,是在线程的Stack中,虽然Stack可以帮我们完成初始化,但这样是存在问题的,比如有些局部变量,在方法的一开始是没有的,有些在循环中的局部变量是要反复的声明多次的。有些局部变量作用域结束后,另一个局部变量又会占用这个局部变量的位置。

局部变量不自动初始化是一种约束,它会尽最大程度减少使用者犯错的可能。假使局部变量可以使用默认值,可能总会无意间忘记赋值,进而导致不可预期的情况出现。

解决哈希冲突常用的两种方法是:开放定址法和链地址法

  开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。    链地址法:将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。但是不保证减少代码量,多层次的调用模式还有可能增加代码量 Boolean修饰的变量为包装类型,初始化值为false,进行赋值时会调用Boolean.valueOf(boolean b)方法自动拆箱为基本数据类型,因此赋值后flag值为true,输出文本true。 如果使用==比较,则输出文本false。if的语句比较,除boolean外的其他类型都不能使用赋值语句,否则会提示无法转成布尔值。 Hashtable: (1)Hashtable 是一个散列表,它存储的内容是键值对(key-value)映射。 (2)Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null。 (3)HashTable直接使用对象的hashCode。 HashMap: (1)由数组+链表组成的,基于哈希表的Map实现,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。 (2)不是线程安全的,HashMap可以接受为null的键(key)和值(value)。 (3)HashMap重新计算hash值   Hashtable,HashMap,Properties继承关系如下:  
1 2 3 4 public class Hashtable<K,V> extends Dictionary<K,V>     implements Map<K,V>, Cloneable, java.io.Serializable   public class HashMap<K,V>extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
 
1 2 3 4 java.lang.Objecct   java.util.Dictionary<K,V>     java.util.Hashtable<Object,Object>       java.util.Properties 

 

标签:20204021,静态方法,构造方法,局部变量,Hashtable,java,方法
来源: https://www.cnblogs.com/4498z/p/16182535.html