面试笔试经验-java重载、重写及数据库索引

原创 2015年11月14日 22:03:34
在毕业季的各大公司校招笔试面试过程中,发现自己对于之前掌握的一些概念或者技术实现理解不够深刻,所以对于每个校招公司笔试面试后总结出来的一些问题重新进行了整理和归纳,加深自己的理解。

1.Java中重载(Overloading)与重写(Overriding)
1.1重载(Overloading)
简单来说重载就是在一个类中对一个方法的不同处理方法,在同一个类中方法名相同,参数列表不同。重载只和类名、参数列表有关。和方法修饰符、返回值类型没有任何关系。
如:

public class class_name{
    public void method_name(){
        System.out.println("I am the body of method");
    }
    public void method_name(String str){
        System.out.println("I am the body of method"+"str");
    }
}

1.2重写(Overriding)
重写通常发生在子类和父类之间,子类对继承的父类同一个方法的覆盖。子类在对父类进行重写时,重写的方法返回值类型、参数列表要和父类的方法返回值类型、参数列表一致。
如:

public class father{
    public void method_name(String str){
        System.out.println("I am the father");
    }
}
public class son extends father{
    public void method_name(String str){
        System.out.println("I am the son");
    }
}
注意:重写只能实现在具有继承关系的类中,但要注意父类方法的权限修饰符,如只能重写父类非私有方法,即private的父类方法无法重写。

1.3小结
1.3.1对于方法的重载和重写都是java类多态性的一种体现,不同的是重载是对一个类内同一个方法的不同处理。重写则是具有继承关系类之间的方法的重写。
1.3.2重载规则
1.相同方法名的方法必须具有不同的参数列表
2.可以设定不同的方法返回值类型
3.可以有不同的访问权限修饰符(public、private等)
1.3.3重写规则
1.子类对父类方法的重写时,方法的参数列表必须相同(否则是方法的重载而不是重写)
2.子类对父类方法的重写时,方法的返回值类型必须和父类方法返回值类型一致。(否则是方法的重载而不是重写)
3.子类方法的访问修饰符的限制一定要大于父类重写方法的访问修饰符(public>protected>default>private)

2.数据库索引
索引是由数据库中一列或者多列组合而成,索引建立的目的就是提高对表中数据的查询速度。
2.1索引的优点与缺点
2.1.1优点
正如索引建立的目的一样,优点就是可以提高数据库检索数据的速度,节省时间。
2.1.2缺点
创建和维护索引需要消耗时间,时间随数据量的增加而增加。同时索引需要占用物理空间,增加、删除和修改数据时,要动态维护索引,造成数据操作速度减慢。 所以对于经常进行数据增加、删除、修改操作的数据库不适合建立索引。
2.2索引的类型
2.2.1普通索引
对表中任意数据类型都可建立,建立后查询时可根据索引进行查询。
2.2.2唯一性索引
通过UNIQUE参数设置唯一性索引,该字段的值必须是唯一的
2.2.3全文索引
使用FULLTEXT参数设置全文索引,全文索引只能在CHAR、VARCHAR和TEXT类型的字段上。在查询数据量较大的字符串类型字段时,全文索引可以提高查询速度。
2.2.4单列索引
在表中对单个字段创建索引,可以为普通索引也可以为唯一性索引。
2.2.5多列索引
在表的多个字段创建索引,但是只有查询条件中使用了索引字段中第一个字段时,索引才会被使用。
2.2.6空间索引
使用SPATIAL参数对空间数据建立索引。
2.3创建索引的原则
2.3.1选择唯一性索引
对唯一性字段建立索引,字段的唯一性可以更快的进行查询。
2.3.2为经常排序、分组和联合操作的字段建立索引
对经常需要ORDER BY、GROUP BY、DISTINCT、UNION等操作的字段设立索引。
2.3.3为常用作查询条件的字段建立索引
对于经常用作查询条件的字段建立索引,对该字段的索引会提高整个表的查询速度。
2.3.4限制索引数目
索引并非越多越好,索引对于字段的操作及占用存储空间有很大影响。
2.3.5尽量使用数据量少的索引
如果索引的字段值很长,那么查询速度会受到影响。
2.3.6尽量使用前缀来索引
如果索引的字段值很长,可以通过对字段的前缀设立索引来提高对字段查询的速度。
2.3.7删除不再使用和很少使用的索引
当数据表中数据大量更新时,原有的索引可能不再需要,需尽快更新索引。
2.4创建索引
2.4.1在创建表时创建索引

create table table_name(
[UNIQUE|FULLTEXT|SPATIAL] INDEX index_name(column_name)
                        );

2.4.2在已有的表上建立索引

create [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON        table_name(column_name)

2.4.3用ALTER TABLE来创建索引

alter table table_name ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name(column_name)

2.5删除索引

drop index index_name ON table_name
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java继承中重写(覆盖)和重载的简单实例

面向对象编程语言具有多态的特性;首先B类中定义了一个p方法,参数为double类型;A类继承了B类方法,按照继承的规则,实例化A之后应该输出一个double类型的数;然而main方法里不仅让实例化的A...
  • qq_20151269
  • qq_20151269
  • 2016年10月20日 16:48
  • 614

Java 重写和重载的详解

一,重载 1.概念:对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载 2.示例: public class Test{ ...
  • qq_33642117
  • qq_33642117
  • 2016年07月15日 19:05
  • 890

Java之重载和重写

重载(Overload)与重写(Overwrite/Override)都是针对方法来说的,那这两种机制有什么好处呢? 重载——同样的一个方法能够根据输入数据的不同,做出不同的处理。【有...
  • u010927640
  • u010927640
  • 2016年12月11日 22:20
  • 1175

Java的重载和重写区别(面试常见)

今天在看C#的基础知识,同是面向对象的语言,看到重载和重写,我突然想了半天,有点模糊了,马上度娘一番,回想起自己在北京实习的项目,实际上,开发中经常用到重载和重写,自己不去总结罢了。今天找了一份比较好...
  • yang_best
  • yang_best
  • 2015年06月30日 11:49
  • 5946

java的重写、重载、覆盖的区别

多态性  通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性  重载  每个类型成员都有一个唯一的签名。方法签名由方法名称和一...
  • chenqiai0
  • chenqiai0
  • 2014年10月07日 10:02
  • 2896

java面试题2--方法重写与重载、this和super关键字

1:方法重写和方法重载的区别?方法重载能改变返回值类型吗? 方法重写:      在子类中,出现和父类中一模一样的方法声明的现象。 方法重载:      同一个类中,出现的方法名相同,...
  • u014726937
  • u014726937
  • 2016年07月27日 22:32
  • 653

Java之封装、继承、多态(重载、重写)

Java之封装、继承、多态
  • huixion
  • huixion
  • 2016年03月22日 20:37
  • 1310

java中的继承和多态以及重载和重写

继承(inheritance) 简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征--封...
  • ls5718
  • ls5718
  • 2016年06月02日 10:19
  • 3052

java中的重载、重写和隐藏

一、重载(overload) 方法重载就是一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或者不同的参数个数。重载与返回值的类型和修饰符无关。 class test{ public in...
  • ziluolanzhang
  • ziluolanzhang
  • 2015年09月08日 15:04
  • 2089

Java重写Override和重载Overload

转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/51457528 本文出自【吴孝城的CSDN博客】 重写是子类对父类中允许访问的的方法的重...
  • wu_wxc
  • wu_wxc
  • 2016年05月19日 22:05
  • 589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面试笔试经验-java重载、重写及数据库索引
举报原因:
原因补充:

(最多只允许输入30个字)