什么是封装
把同一类事物的共性(属性和方法)归到一个类中,已方便使用
概念:利用抽象数据类型将数据和操作封装在一起,使其构成一个不可分割的实体,隐藏内部细节保留对外接口用户无需知道实现的细节只需要使用外部接口访问即可。
目的:实现专业的分工程序员可以在需要的时候调用。隐藏信息和实现细节。可以将一些不想让客户看到的东西信息隐藏起来
什么是继承
个性对共性属性方法的接受,并加入自己特有属性和方法
概念:一个类继承了另一个类,继承类为子类,被继承类为父类
目的:实现代码的复用
升华:如果要让某个类能继承父类需要开发访问权限遵循里氏换代原则,即不能修改可以扩展
解释:子类可以可以写自己特有的方法和属性目的就是扩展,复写父类的方法即方法重写但是不能修改父类的方法
什么是重写
概念:重写Override:表示子类中有一个方法和父类中的方法参数,返回值,方法名(标志)完全相同,如果通过子类创建的实例对象调用该方法将调用子类中的此方法这相当于把父类的方法重写了,子类重新父类的方法一定是要比父类抛出的异常要少或者一致或者抛出异常的子类,不然重写是无意义的。子类重写父类的方法访问权限一定要比父类的大。private不存在重写。
实际使用:接口中经常使用,在接口中声明方法,子类中重写方法。
目的:达到不同的效果或更好的效果
什么是多态(重要)
多态的概念发展出来,是以封装和和继承为基础的
概念:相同的事物调用相同的方法,参数也相同时,但表现行为却不相同
子类以父类的身份出现,但是做事情还是以自己的方法实现。子类以父类的方法实现需要向上转型,其中向上转型是JVM自己实现的是安全的,如果向下转型(强制转换)这是不安全的可能引发程序出现BUG,子类以父类的身份出现时自己特有的属性和方法将不能使用。
请你说一下Java语言的主要特征
Java语言是易学的。Java语言的语法和C语言很相近,却把C语言一些繁琐的东西通过JVM简化了很多
Java语言是强制面向对象的。Java语言提供类、接口、继承等,为了简单起见只支持类中之间的单继承但是支持接口之间的多继承,并支持类与接口的实现机制(关键字为implements)
Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(Java net)它提供了网络应用的编程类库,包括URL、UrlConnection、Socket、Servlet-Socket。Java的RMI(远程激活方法)
也是开发分布式的重要应用手段
Java语言是安全的。Java通常被用在网络环境中,为此Java提供了一个安全机制,如ClassLoader,如分配不同的名字空间以防替代本地同名类、字节代码检查等。
Java语言体系结构是中立的。Java程序(后缀为.java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为.class文件)然后可以在实现这个Java平台的任何系统中运行。
Java语言是解释性的。如前所述,Java程序在平台上编译为字节码格式,然后可以实现在这个Java平台系统的任何解释器中运行(一次编译到处运行)
Java是性能略高的。与那些解释性的高脚本语言相比,Java性能还是较优的。
Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须有Thread类或其子类(孙)类来创建。
JDK和JRE的区别是什么
JDK : Java的开发工具包,提供了Java的开发环境和运行环境
JRE : Java的运行环境为Java的运行提供了所需要的环境
JDK中包含了JRE简单来说只要安装了JRE就可以编写和运行Java程序