-
Dog other = (Dog) obj
因为obj不是Dog类型,需要强制转换成Dog 类型。
就是强制转换为Dog类型 可能obj的类是Dog类的子类 多态会经常用到这种转换。查看全部 -
没懂return "Dog[age="+age+"]";是什么意思?
return一个字符串。如果这里age=10,那么这个字符串的内容是Dog[age=10]这样子。查看全部 -
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类,且Object类中的方法适合所有子类 1.toString()方法 在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串) 如果我们在代码里面直接输出一个对象,会输出这个对象在内存中的地址,我们把它称为哈希码,哈希码是通过哈希算法生成的一个字符串用来唯一区分对象的 可以通过重写toString()方法表示出对象的属性 (我们经常在输出对象的时候希望得到子类的属性值,那么我们就要重写从父类继承来的toString()方法,eclipse中右键菜单栏-源码source-生成generate toString(),他就会根据我们对象的属性帮我们生成一个toString()方法来输出属性值) getClass()可以得到一个类对象,当我们new的时候得到的是一个类的对象如果对象调用getClass()方法我们得到的是类对象,类对象描述的是类的代码信息(类的代码信息:这个类有哪些属性\它是什么类型\变量名是什么\它有哪些方法\方法名是什么\方法里面的代码是什么;而类的对象关注的是对象的属性值的信息或者说这个对象的数据信息
查看全部 -
super关键字指的是父类 子类的构造的过程当中必须调用其父类的构造方法 相当于super();默认是调用无参的 如果子类的构造方法中没有显示调用父类的构造方法,系统会默认调用父类无参的构造方法. 如果要显示的调用父类的构造方法,必须在子类的构造方法第一行中添加super(); 如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错,如果父类是定义了有参的构造方法,那么子类必须super.(父类的参数),或者父类中添加一个无参的构造方法,否则出错 因为默认调用的是super();是无参的。 一个类中没有定义构造方法,则系统会默认为此类定义一个无参的构造方法.如果自定义了一个带参的构造方法,则系统不会为其添加无参的构造方法.
查看全部 -
类的信息放到到内存中的过程就是实例化
就是创建对象 Hello hel = new Hell0();
我们创建了一个Hello的实例hel,这个new对象的过程叫实例化
查看全部 -
方法的重写
查看全部 -
如果父类属性是用private修饰的,子类是不能调用的
查看全部 -
extends关键字
查看全部 -
继承的好处
查看全部 -
继承是单向的,一个子类只能有一个父类
查看全部 -
继承的概念
查看全部 -
final关键字: 表示“最终的”,即不可修改。 final可以修饰类、方法、属性和变量 1、修饰类:不允许被继承 2、修饰方法:不允许被重写 3、修饰属性:则该属性不会进行隐式初始化(不会自动初始化),需要手动初始化或者在构造方法中初始化 (但二者只能选一,即只能初始化一次后便不能更改) 4、修饰变量,只能在声明的时候赋一次值,成为常量。 (static final 会使其成为全局常量)
查看全部 -
JAVA中四种访问权限 private<default<protected<public,如果子去重写父的方法,方法的权限默认是和父一样的,但也可以改,但只能加大权限,不能缩小权限,比如父是protected,重写时可以改成public,但如果是public的,重写只能是public
查看全部 -
重写方法的规则: 1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。 2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。如果在子类中写了一个只有返回类型不同的函数,将不是重写,且会报错 3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private) 4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如: 父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。 而重载的规则: 1、必须具有不同的参数列表; 2、可以有不责骂的返回类型,只要参数列表不同就可以了; 3、可以有不同的访问修饰符; 4、可以抛出不同的异常; 重写与重载的区别在于: 重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。 用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般. 重写是除了函数体其他必须完全相同,如果参数不同则是重载,如果参数相同而返回类型不同则会报错
查看全部 -
继承:在java中只能单继承,即只能有一个父类
继承的优点:子类拥有父类的所有属性和方法(private无效)
可实现代码的复用
继承的语法:class 子类 extends 父类
eg:class Dog extends Animal{
}
查看全部
举报