《java学习的一些概念》
2016-03-20 13:01
323 查看
1、如何理解面向对象?
面向对象是一种思维方式,就是将过程、实体和逻辑用对象来进行抽象和概括的思维方式。
2、什么是类?
将一类实物的静态属性和动态可以执行的操作组合在一些就得到了类的概念。
类是抽象的,用来模拟一类实物,是一个概念
但是,当类一旦定义,就永远存在了。
3、什么是对象
对象就是一个个类的实例,是现实存在的,生命周期是短暂的,会生成也会消失。
4、访问控制符public protected private
访问控制符只是针对外部的,对类内部是透明的。
外部访问由两种方式,一种是通过类名来进行访问,另外一种是通过对象名来进行访问。
5、关于函数的重载
函数的重载是 同名函数通过不同的形参完成类似的事情。
函数重载的要求:形参类型不同或者数量不同或者是顺序不同。注意:只有返回值不同是不能够形成函数的重载的(编译是会报错的)。
6、关于变量的初始化问题
如果变量为 类的属性,则会默认给你初始化,例如 int型属性会默认给你初始化为零等
如果是 局部变量,则必须进行初始化,否则会报错。
7、static关键字
static 属性和方法虽然属于类本身,不仅可以通过类名来进行访问,而且也可以通过类对象来进行访问。注意 外部访问的前提条件是:属性和方法都是非private。
非static方法能够调用static 属性和方法,但是static方法只能调用static属性和方法。
静态方法不能够以任何方式来引用this和super关键字。
8、继承
继承就是一个新类从已有的类那里获得已有的方法和属性。
继承的好处:- 代码的极大重用、构成一个体系结构、为多态提供了可能。
Java只支持单继承,C++支持多继承。但是Java中的 接口弥补了单继承所带来的缺陷。
子类可以继承父类所有的非private的属性和方法,但是永远也无法继承父类的构造函数。在子类的构造函数中可以使用super(参数列表)来调用父类的构造函数。一般来说,每个子类的构造函数都会隐式的调用父类的构造函数,如果父类没有此构造函数,将会报错。
9、重写
重写就是子类重写从父类继承过来的方法,但是要保证方法名、形参列表、返回值一模一样。
重写方法时,不能使用比父类被覆盖的方法更严格的访问权限。
10、什么是多态?
一个父类的引用即可以指向父类本身,也可以指向子类对象,它会根据当前指向的不同,自动调用不同对象的方法,这就是多态。
11、多态的注意事项
子类对象可以直接赋给父类引用,但是父类对象在任何情况下都是不能赋给子类引用的。可以这么来理解:子类可以当成父类来对待,但是父类是不能够当成子类来对待的。
父类的引用只能调用子类对象从父类继承过来的属性和方法,不能调用子类对象特有的成员。
父类的引用不能直接赋给子类引用,只有当父类引用指向子类对象时,通过强制转化赋给子类引用;其他情况下是不能够把父类引用强制转化为子类引用,否则会报错。
12、抽象方法和抽象类
先解释下什么是抽象方法。
在定义方法时,若只给出方法头,没有方法体的方法就是抽象方法。抽象方法必须用abstract关键字来进行修饰。
那什么是抽象类呢?
抽象类就是用abstract关键字修饰的类,就是抽象类。
含有抽象方法的类一定是抽象类。但是抽象类可以不含有抽象方法。还需要注意的是:抽象类是不能new出对象的。
13、final 关键字
final 关键字可以修饰 1)整个类 2)方法 3)属性。
当final 关键字修饰某个属性时,表示必须被赋值且只能赋唯一值,且永远不能改变。其它的方法均不能改变其值的大小。注意:默认值不能算是真正的赋值。
对变量进行初始化有两种方法,第一种是:在定义成员变量的同时初始化,第二种是在构造函数中进行初始化。
面向对象是一种思维方式,就是将过程、实体和逻辑用对象来进行抽象和概括的思维方式。
2、什么是类?
将一类实物的静态属性和动态可以执行的操作组合在一些就得到了类的概念。
类是抽象的,用来模拟一类实物,是一个概念
但是,当类一旦定义,就永远存在了。
3、什么是对象
对象就是一个个类的实例,是现实存在的,生命周期是短暂的,会生成也会消失。
4、访问控制符public protected private
访问控制符只是针对外部的,对类内部是透明的。
外部访问由两种方式,一种是通过类名来进行访问,另外一种是通过对象名来进行访问。
5、关于函数的重载
函数的重载是 同名函数通过不同的形参完成类似的事情。
函数重载的要求:形参类型不同或者数量不同或者是顺序不同。注意:只有返回值不同是不能够形成函数的重载的(编译是会报错的)。
6、关于变量的初始化问题
如果变量为 类的属性,则会默认给你初始化,例如 int型属性会默认给你初始化为零等
如果是 局部变量,则必须进行初始化,否则会报错。
7、static关键字
static 属性和方法虽然属于类本身,不仅可以通过类名来进行访问,而且也可以通过类对象来进行访问。注意 外部访问的前提条件是:属性和方法都是非private。
非static方法能够调用static 属性和方法,但是static方法只能调用static属性和方法。
静态方法不能够以任何方式来引用this和super关键字。
8、继承
继承就是一个新类从已有的类那里获得已有的方法和属性。
继承的好处:- 代码的极大重用、构成一个体系结构、为多态提供了可能。
Java只支持单继承,C++支持多继承。但是Java中的 接口弥补了单继承所带来的缺陷。
子类可以继承父类所有的非private的属性和方法,但是永远也无法继承父类的构造函数。在子类的构造函数中可以使用super(参数列表)来调用父类的构造函数。一般来说,每个子类的构造函数都会隐式的调用父类的构造函数,如果父类没有此构造函数,将会报错。
9、重写
重写就是子类重写从父类继承过来的方法,但是要保证方法名、形参列表、返回值一模一样。
重写方法时,不能使用比父类被覆盖的方法更严格的访问权限。
10、什么是多态?
一个父类的引用即可以指向父类本身,也可以指向子类对象,它会根据当前指向的不同,自动调用不同对象的方法,这就是多态。
11、多态的注意事项
子类对象可以直接赋给父类引用,但是父类对象在任何情况下都是不能赋给子类引用的。可以这么来理解:子类可以当成父类来对待,但是父类是不能够当成子类来对待的。
父类的引用只能调用子类对象从父类继承过来的属性和方法,不能调用子类对象特有的成员。
父类的引用不能直接赋给子类引用,只有当父类引用指向子类对象时,通过强制转化赋给子类引用;其他情况下是不能够把父类引用强制转化为子类引用,否则会报错。
12、抽象方法和抽象类
先解释下什么是抽象方法。
在定义方法时,若只给出方法头,没有方法体的方法就是抽象方法。抽象方法必须用abstract关键字来进行修饰。
那什么是抽象类呢?
抽象类就是用abstract关键字修饰的类,就是抽象类。
含有抽象方法的类一定是抽象类。但是抽象类可以不含有抽象方法。还需要注意的是:抽象类是不能new出对象的。
13、final 关键字
final 关键字可以修饰 1)整个类 2)方法 3)属性。
当final 关键字修饰某个属性时,表示必须被赋值且只能赋唯一值,且永远不能改变。其它的方法均不能改变其值的大小。注意:默认值不能算是真正的赋值。
对变量进行初始化有两种方法,第一种是:在定义成员变量的同时初始化,第二种是在构造函数中进行初始化。
相关文章推荐
- [排序算法]——冒泡排序
- 输入/输出(一)——编码,文件类,随机读写文件类
- hibernate和spring整合时出现的数据库连接问题
- STS: Spring Boot and Hibernate
- 【JAVA集合】HashSet、LinkedHashSet、TreeSet
- Java static关键字
- java设计模式5-命令模式
- java关于插入排序—希尔排序的理解,以及冒泡排序的改进
- 20145238-荆玉茗 《Java程序设计》第3周学习总结
- org.springframework.web.servlet.ModelAndView
- org.springframework.web.servlet.ModelAndView
- Eclipse中运行出现selection does not contain a main type错误
- 新手推荐JSP+JavaBean+Servlet MVC模式用户注册模块
- 20145327 《Java程序设计》第三周学习总结
- java内部类详解
- spring 在Thread中注入@Resource失败,总为null~解决
- JAVA设计模式之单例模式
- javaweb——登陆权限过滤器的编写
- Java用wait() notify()实现线程间通信
- Java并发编程:线程池的使用