1,什么是面向对象,什么是面向过程?
2,类。对象(对这一类事物的一个实例)、成员变量<这个类或者个对象里面的特征的描述>(属性静态属性),成员方法<指这个类里面的方法和行为>(方法,动态属性),局部变量<方法里面定义的变量>分别得含义?
3,面向对象的特点
封装
private 在外面不能直接访问(用private关键字定义好再定义一个public对外公开的方法访问这些属性)
继承
多态
4,如何在程序中创建一个对象(首先定义一个类)?
类名 变量名 = new 类名();
类体(定义类时类名{}里的范围)
类和类之间的关系
关联关系
一个类中的某个方法的参数是另一个类的对象
一个类中的成员变量时另一个类的对象
继承关系(extends关键字)
什么是一种什么
聚合关系 (聚集组合)
实现关系 (接口)
接口里只定义方法(实现关系是一种特殊的继承关系)
5、成员变量初始化
四类八种
6、如何更好地设计一个类?
合适的方法出现在合适的类。
7、什么是类的封装?
private关键字修饰的成员变量,只能在当前类中使用。
8、什么叫构造方法?构造方法的重载
构造方法:就是用来构造一个对象的方法
1、构造方法没有返回值。
2、构造方法名与类名一模一样。
3,、定义一个类的时候,如果没有写任意的一个构造方法,则默认生成一个空参的构造方法。
4、当一个类中有定义的带参数的构造方法的时候,则空参的构造方法会消失。(如果想使用空参的构造方法,必须显示的写出来)。
9、关键字代表的含义?该如何使用
super:指向父类对象的引用; super.方法名();super();
this关键字:当前对象的引用 大多数情况用来解决传入的参数和成员变量的重名现象
可以通过this关键字来调用当前类中的其他的构造方法 this();
public class Student{ private String name; public void setName(String name){ this.name = name; } public String geiName(){ return this.name; } }
10,static关键字代表的含义是?该如何使用?
修饰变量
static(静态的)可以修饰变量(成员变量,方法,类)
static修饰的成员变量可以直接被调用不需要实例化类名.。。。。
static修饰额变量不存在与栈空间和堆空间,存在(数据区)不管实例化多少个对象,所有的对象共享一份
修饰方法
用途:做一些工具类的使用
静态的方法不能访问非静态的成员 static修饰的方法不能访问非静态成员
11、单例模式
public class Car{ private String driver; private static Car car = new Car();//饿汉式 private static Car car //懒汉式 private Car(){ } public static getCar(){ if(car == null){ car = new Car(); } return car; } public String getDiver(){ return driver; } public void steDriver(String driver){ this.driver = driver; } }
什么是类的继承?
以一个类为基础(父类),新(子类)设计的一个类可以被称为类的继承。
什么是方法的重写?方法的重写需要满足什么样的条件?
Object(所有类的父类)
重写(Override/Overwrite)重载(Overload)
必须要有继承 方法名相同 参数列表(参数类型,参数个数一致) 返回值相同 子类重写父类的方法不能使用比父类 更为严格的访问权限
toString方法的重写
返回该对象的字符串表示。通常,to String 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但 易于读懂的表达式。建议所有子类都重写此方法
equals方法的重写
equals方法重写需注意
自反性:对于任何非空引用值x,x.equals(x)都应返回true。
对称性:对于任何非空引用值x和y,而且仅当y.equals(x)返回true时,x.equals(y)才应返回true。
传递性:对于任何非空引用值x,y和z,如果x.equals(y) 返回true,并且y.equals(z)返回true,那么x.equals(z)应返回true。
一致性:对于任何非空引用值x和y,多次强调x.equals(y)始终返回true或始终返回false,前提是对象上equals比较中所用的信息没有被修改,
对于任何非空引用值x,x.equals(null)都应返回false。
final关键字代表什么意思?怎么使用?
final:最终的(常量 不可更改的值)用final修饰的成员变量全部字母大写
变量:
常量,让这个变量只能被赋值一次
方法:
被final关键字修饰的方法,不能被重写
类:
被final修饰的类,不能被继承