网站首页 > java教程 正文
封装
把类中的字段设置为private属性,在类外不可以访问
继承
使用extends关键字,java只支持单继承
【修饰符】 class A extends B{}
子类可以重写父类的方法,如果子类中需要调用父类被重写的方法,只能使用super.方法名()来调用
super:代表父类,使用情形如下
public class A extends B{
private int age;
private String name;
A(int age,String name){super(age);}//super在子类的构造方法中,只能出现在第一行,代表调用B类的有一个参数的构造方法
public void f(){ //子类的f方法
super.f();//调用父类的f方法
}
}
子类中构造方法的执行过程:先调用父类的初始化块,构造方法,在调用子类的初始化快,构造方法
多态
父类的引用,指向子类的实例,并且子类重写了父类的方法;
调用方法时,只能调用父类中含有的方法,如果使用属性,则使用的是父类的属性
public class A{
private int age;
private String name;
//setter和getter方法省略
public void f(){
System.out.println("age="+age);
}
public void g(){
System.out.println("name="+name);
}
}
public class B extends A{
private char sex;
//setter和getter方法省略
public void f(){
System.out.println("sex="+sex);
}
public void test(){
System.out.println("sex="+sex);
}
public static void main(String[] args){
A a = new B();
a.f();//调用的是B类的f方法
a.test();//这个是不行的,因为A类中没有这个方法
}
}
属性不具有多态性
初始化块
【static或者空】{ //初始化快代码;}
初始化块在构造方法之前执行,子类在创建实例时,
先调用父类的初始化块,父类的构造方法,在调用子类的初始化块,子类的构造方法
static修饰的静态初始化块,只会在类加载时执行一次,类加载时先加载父类的静态初始化块,再执行子类的静态初始化块
猜你喜欢
- 2024-11-13 Java面向对象三大特征:封装、继承、多态
- 2024-11-13 利用Java注解的简单封装,进行的一次优化
- 2024-11-13 如何封装原生的 Java NIO 以及扩展?详细到让你分分钟搞定Netty
- 2024-11-13 Java面向对象——基础2 封装、继承、多态
- 2024-11-13 想要 Spring Data JPA/MongoDB 更易用,你应该这样封装
- 2024-11-13 Java面向对象高级特性-封装(java面向对象三大特点)
- 2024-11-13 Java基础类型与封装类型的区别与联系
- 2024-11-13 java包装类的自动封装、自动拆箱和缓存
- 2024-11-13 java程序员必备的基础知识_java面向对象之封装(二)
- 2024-11-13 Java面试基础回顾03-封装(java基础面试题及答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)