适合狠新手看的java基本概念


一篇文章回顾java中的基本概念,每个概念都使用现实世界的例子来说明,重在理解概念,所以并没有代码

类和对象:俗话说“物以类聚”,具有某些共同特征的一个抽象的总称,举一个简单的例子:你刚诞生在地球上被称作婴儿,那么婴儿到底是什么?能说清吗,恐怕只能描述它的一些特征和动作吧,这里的婴儿就相当于一个类,一个抽象的名字,只能描述它拥有的特征和动作,却不能说清到底什么是婴儿,(这些特征和动作就成了这个类的成员变量成员函数)。对象呢?在前面也阐述了,对,就是你,你诞生后,会由父母给予名字,此时你仍旧是婴儿,但是却变得具体了,因为有了名字和生存空间。就像代码中 Baby lili = new Baby(); Baby是婴儿这个类,父母通过“new Baby()”(父母创造你的方法),使他们心中抽象的婴儿变得具体化了,并且给予你一个名字叫lili,此时你就是这个婴儿类的一个对象,别人可以通过你来进行具体的操作。

封装:把类中的属性和方法隐藏起来,只有在本类中才可以得到和进行处理,但同时又为外界提供访问这些属性的方法,外界必须通过给的这些方法才可以拿到本类的属性(即数据)。就好比父母银行卡的密码你并不知道,但是你每个月却能够从父母那里拿到钱,但是能不能拿到其实是由父母决定的,因为是父母给你提供了拿钱的途径(父母提供的方法用于让你访问自己的私有属性)

继承:使用关键字extends表示子类继承父类。可以理解为现实世界中的亲人之间的那种继承关系,父母被称作父类,而你是子类,你可以继承父母的东西(房子、车子),这些便是父类中的公共属性(public、protected),你可以得到,而且可以选择是否要父母这些东西,以及怎么使用,即可以扩展从父类继承的东西。但是有些却又不能继承到,比如说父亲的手臂上有道伤口,这个你就继承不了,因为是父亲的私有属性(privte),仅限父亲拥有。一个类只能继承一个父类,就像一个人只能有一个亲生父亲一样

对于抽象类的继承:只要类中含有抽象方法(抽象方法没有方法体,因为是抽象,所以没有具体的操作方法),那么这个类便是抽象类,关键字是abstract。在这种继承关系中,子类继承父类时,必须重写父类的抽象方法。可以这么来理解:abstract相当于医院判定的家族传染病的标签,一旦贴上了这个标签,那么只要你是这个家族的子类成员,那么你必定会从一出生就带有这个病

不能被继承的类:使用final定义后的类不能被继承,也就是不能成为父类。类比现实中:在古代,不能成为父亲的男人是什么人?被final定义后就相当于被打上了太监的标签,而太监是没有后代的,所以就不存在父与子的继承之说

接口:使用interface关键字定义的“特殊类”,接口里面全是由全局常量和公共的抽象方法组成,接口的存在就是为了被“继承”。类比到现实世界中,比如说工作:没有具体的职位,根本无法描述工作的相关信息,所有就需要有人来实现一个具体的职位,比如医生、教师,这样一来,所谓的工作也就变得明确了。这里的工作就相当于一个接口,里面有一堆公众的心声“工作苦、工作累、为了工作起得比鸡早,睡得比狗晚”(全局变量和公共方法),使用关键字implements实现了工作这个接口后,便可以使工作变得具体化,可以体会到工作中公众的心声的同时,还可以有自己的对工作的具体阐述,即可以获得这些全局变量和公共方法,同时还能够扩展自己的变量和方法

异常:异常是JVM生成的对象,异常可以简单分为两类:可捕捉的异常和不可捕捉的异常(可捕捉异常一般在编写代码时,编码工具会自动提醒;不可捕捉异常只有在异常发生后才知道),在编写代码时,可以对可能会发生异常的代码进行捕捉,即try{  可能会出现异常的代码  } catch{ 出现异常后执行的代码 }  finally{  不管出不出异常,都会执行的代码 }。类比到生活中,可捕捉异常如:你第一次骑自行车,父母知道如果不管你,你肯定会摔跤,所以在你开始骑的时候就在旁边扶着确保你不会真的摔下来。不可捕捉异常如:你已经18岁了,父母对你已经很放心了,却没想到你走在路上自己把自己给绊了个跟头,这些只有发生了父母才会知道:原来你这么大了走路也会被自己绊摔跤

你可能感兴趣的:(适合狠新手看的java基本概念)