- gong'yu
带包类的使用
包类有两种使用方法
例如 Scanner 是带包类
还有一种是,加所见的包。
一般是导包使用,当然只使用一次的时候也是可以使用带包创建。
当要使用自己创建带包类时
类名.f
final关键字的作用
重载和重写的区别
重载: 参数 返回值 方法名
重写 : 参数 返回值 方法名
final (最终的,最后的)
可以修饰类,方法,变量
final 类
这个类不能被继承
final方法
修饰一个方法:表示这个方法不能别子类重写
final 变量(变量分为成员变量和局部变量)
常量
1.字面值常量
2.自定义常量
继承中方法重写overrde
方法重写(方法覆盖)
方法名 ,参数,返回值和父类相同
父类的私有的方法不能执行重写
意义:
子类跟父类有同样的功能,但是子类有自己特有和实现方式。可以定义一个不同的名字方法,但是为了见名知意,保持父类姓名,自己出行实现方法体。
继承中构造方法调用的注意事项
当我们没有显示调用父类里面的构造方法的时候,默认会调用父类里的无参构造方法,对父类里面的属性进行初始化。
super 调用父类的构造方法
继承
继承需要注意的事项
1.子类继承父类的成员方法和成员变量
但是不支持访问私有方法和私有变量
2.继承支持多层继承,但是不支持多继承。
一个子类只有一个父类
继承优点
代码变的更简洁,代码量更少。
static
关于p.teach和((Teacher)p).teach和(Teacher)p.teach的理解。
其中
p.teach是指调用当前类对象的teach方法,
((Teacher)p).teach代表:将P强制类型转化成Teacher类的对象然后调用teach方法
(Teacher)p.teach这里是先执行方法后执行类型转换
同样的原理我们也可以参考 int a =6+7;
这条语句的允许按顺序是将6+7先做运算然后用a指向这块存储单元。
以下是个人理解(先这么理解:对不对再说):
类型转换的优先级没有调用方法的优先级高
自己写工具类,可以通过构造方法来将工具类私有化,这样可以减少实例化对象的代码
内部类不能有静态成员。
内部类可以访问外部类的各种成员。
内部类的方法只能通过外部对象调用外部方法使用。
new 代表构造对象
类名和方法名子一样,当new一个对象时,同时调用该方法,称为构造方法,该方法可以有多个。
例 Student a=new Student();
Student和类名构造方法名字一样。
可以构造无参,
Java 不支持多继承
C++可以支持多继承
zhongguo
super可继承父类的成员与无参构造方法
super(**,**);
super.**
苍井空高级老师?专教睡觉和吃?