面向对象

面线对象三个基本特征:继承,封装,多态。

继承:子类继承父类,子类获得父类的属性和方法。

封装:将客观事物封装成抽象的类,并且只能让特定的对象操作。

多态:一个类实例的相同方法在不同情形有不同的表现形式。


多态的两种实现方式:重载和重写。

重载(Overload):是一个类中多态性的一种表现,方法名必需相同,参数列表必需不同.(长度不同或类型不同),与返回值类型没有关系.构造器也可以重载.方法名和类名相同,参数不同. Overloaded的方法是可以改变返回值的类型。

重写(Override):是父类与子类之间多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写。


抽象和接口

抽象和抽象方法:abstract

1.抽象类和抽象方法都是通过abstract关键字修饰。

2.抽象类不能实例化。抽象类中可以没有、有一个或者多个抽象方法,甚至全部方法都可以是抽象方法。

3.抽象方法只有方法声明,没用方法实现。有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类。

接口:interface定义了一套标准(方法),这些方法通常都是没有实现的,类可以来实现这些方法来支持(implements)这个标准

特点:

1.接口不能被实例化

2.一个类只能有一个父类,但是可以实现多个接口

3.接口不能有实例变量,但是可以有static final变量

4.接口的方法都是抽象方法 - 静态(public static)和default方法除外

5.接口可以没有任何方法

6.接口可以有属性,但属性默认是public static和final

接口和抽象的区别:

1.接口只能做方法申明,抽象类可以做方法申明,也可以做方法实现。

2.接口要被类实现,抽象类要被子类继承。

3.接口可以继承接口,并可以多继承接口,但类只能单个继承。

4.接口定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。


常用关键字:

static:

1.变量:被static修饰的变量叫做静态变量(类变量),没有被修饰的叫实例变量。

区别:静态变量在内存中只有一份拷贝,JVM只为静态分配一次内存,在加载过程中完成静态变量的内存分配,直接通过类名访问。

          实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中多个拷贝,互不影响。

2.静态方法:静态方法可以直接通过类名调用,任何的实例也都可以调用。

因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法

3.static代码块:static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次

利用静态代码块可以对一些static变量进行赋值。

final:

final用于声明属性,方法和类,分别表示属性不可变。

修饰类:不能被继承;修饰方法:不能被重写;修饰变量:不能被修改,是常量

synchronized线程、同步:

1.synchronized 关键字可以应用于方法或语句块,并为一次只应由一个线程执行的关键代码段提供保护。

2.synchronized 关键字可防止代码的关键代码段一次被多个线程执行。

3.如果应用于静态方法,那么,当该方法一次由一个线程执行时,整个类将被锁定。

4.如果应用于实例方法,那么,当该方法一次由一个线程访问时,该实例将被锁定。

5.如果应用于对象或数组,当关联的代码块一次由一个线程执行时,对象或数组将被锁定。

this:

this关键字必须放在非静态方法里面

this关键字代表自身,在程序中主要的使用用途有以下几个方面:

1. 使用this关键字引用成员变量

2.使用this关键字在自身构造方法内部引用其它构造方法

3.使用this关键字代表自身类的对象

4. 使用this关键字引用成员方法

修饰符:

default不加 - 在自己的package里面可用

public - 所有地方都可以用

private - 只有在自己的类里面可用

protected - 在子类和当前package




常见面试题:

1.谈谈final, finally, finalize的区别。

2.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?(可以)

3.接口和抽象的区别。

4.构造器 Constructor 是否可被 Override?

:构造器 Constructor 不能被继承,因此不能重写 Override,但可以被重载 Overload。

5. 两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句 话对不对?

答:不对,如果两个对象 x 和 y 满足 x.equals(y) == true,它们的哈希码(hash code)应当相同。(要扩展)

(1)如果两个对象相同(equals 方法返回 true ),那么它们的 hashCode 值一定要相同;

(2)如果两个对象的 hashCode相同,它们并不一定相同。当然,你未必要按照要求 去做,但是如果你违背了上述原则就会发现在使用容器时,相同的对象可以出现在 Set 集合中,同时增加新元素 的效率会大大下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)

6.java 中实现多态的机制是什么?

答:靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法

7.关于static和this的题:

public class This{

static int value = 9; //注意value是静态的成员变量

public static void main(String[] args) throws Exception{

new This().printValue();

}

private void printValue(){

int value = 69;

System.out.println(this.value);

System.out.println(value);

}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容