抽象类
1.语法定义:抽象类前使用abstract关键字修饰,则该类为抽象类;
2.应用场景:(1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法(2)从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免子类设计的随意性。
3.作用:限制规定子类必须实现某些方法,但不关注实现细节。
4.使用规则:(1)abstract定义抽象类;(2)abstract定义抽象方法,只有声明,不需要实现;(3)包含抽象方法的类是抽象类;(4)抽象类中可以包含普通的方法,也可以没有抽象方法;(5)抽象类不能直接创建,可以定义引用变量;
1.语法定义:抽象类前使用abstract关键字修饰,则该类为抽象类;
2.应用场景:(1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法(2)从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免子类设计的随意性。
3.作用:限制规定子类必须实现某些方法,但不关注实现细节。
4.使用规则:(1)abstract定义抽象类;(2)abstract定义抽象方法,只有声明,不需要实现;(3)包含抽象方法的类是抽象类;(4)抽象类中可以包含普通的方法,也可以没有抽象方法;(5)抽象类不能直接创建,可以定义引用变量;
2015-12-28
在使用多态的时候两个类一定要有继承的关系,继承是多态的基础。
在多态中我们可以使用一个父类的引用指向一个本类的对象,也可以使用一个父类的引用指向一个子类的对象,但是万万不可以用一个子类的引用指向一个父类的对象!!!!!
在多态中我们可以使用一个父类的引用指向一个本类的对象,也可以使用一个父类的引用指向一个子类的对象,但是万万不可以用一个子类的引用指向一个父类的对象!!!!!
2015-12-28
两个对象如果类型不相同,先要转换成相同的类型,然后再进行两个对象属性值的比较,如果属性值相同,则两个对象相等。
2015-12-28
类对象跟类的对象时不一样的,类对象我们关心的是有哪些属性和方法等信息,而类的对象我们更加关心的是具体的属性值得信息。
2015-12-28
equal()方法是用来比较两个对象的引用是否是指向同一个内存地址,但是大多数的时候我们需要比较的都是两个对象的值是否相等,此时我们就需要在子类中重写这个方法实现比较两个对象值是否相等这个功能。
2015-12-28
2.equal()方法
比较的是对象的引用是否指向同一块内存地址
Dog dog = new Dog()
这里我们new出来的dog对象并不能说就是狗,而是存放狗这个对象的内存的地址,我们通过操作内存地址来操作这个对象。
比较的是对象的引用是否指向同一块内存地址
Dog dog = new Dog()
这里我们new出来的dog对象并不能说就是狗,而是存放狗这个对象的内存的地址,我们通过操作内存地址来操作这个对象。
2015-12-28
1.toString()方法
在Object类里面定义toString()方法的时候返回对象的哈希code码(对象地址字符串),可以通过重写toString()方法表示出对象的属性。
在Object类里面定义toString()方法的时候返回对象的哈希code码(对象地址字符串),可以通过重写toString()方法表示出对象的属性。
2015-12-28
1.final关键字修饰类的时候,则该类不允许被继承;
2.final关键字修饰方法的时候,则该方法不允许被重写(覆盖);
3.final关键字修饰属性的时候,则该属性不能在其他的位置修改值,属性的值我们只能赋值一次;
4.final关键字修饰属性的时候,如果自己没有给这个属性初始化的话,则系统也不会自定初始化,此时程序也会报错;
2.final关键字修饰方法的时候,则该方法不允许被重写(覆盖);
3.final关键字修饰属性的时候,则该属性不能在其他的位置修改值,属性的值我们只能赋值一次;
4.final关键字修饰属性的时候,如果自己没有给这个属性初始化的话,则系统也不会自定初始化,此时程序也会报错;
2015-12-28