Java 加油加油加油!!!!!

Java基础
1、三大特性,封装,继承,多态
2、异常
3、多线程
4、集合
5、反射
6、网络
7、IO流

1、三大特性
封装
理解:私有化类成员变量,提供对外访问的接口
特点:
1、类中成员变量设为私有,只暴露出公开的访问接口,增强了类的安全性,避免外界随意修改
2、解耦合,能够更加关注细节,而不去改变接口本身
缺点:
1、容易被打破,例如继承
Example:
/** * @author wys * @date 2021/1/12 5:27 下午 / public class User { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } 复制代码
继承
理解:子类继承父类
特点:
1、子类通过extends关键字继承父类
2、通过继承,实现类的复用,避免了大量重复代码
缺点:
1、继承破坏了封装性,子类如果太依赖父类,会造成耦合
Example:
/
* * @author wys * @date 2021/1/12 5:46 下午 * 比如我们的手机就可以分为不同的牌子,但是每种牌子都要有名称和价格 * 这样就可以抽象出来一个通用的手机来定义名称和价格 / public class Phone { private String name; private BigDecimal price; public String getName() { return name; } public void setName(String name) { this.name = name; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } @Override public String toString() { return “name:”+this.getName()+“price:”+this.getPrice(); } } public class MiPhone extends Phone{ public void desc() { System.out.println(“这是小米手机”); } } public class IPhone extends Phone{ public void desc() { System.out.println(“这是苹果手机”); } } /* * @author wys * @date 2021/1/12 5:50 下午 */ public class Main { public static void main(String[] args) { MiPhone mi = new MiPhone(); mi.setName(“小米手机”); mi.setPrice(new BigDecimal(“2000”)); System.out.println(mi.toString()); IPhone iPhone = new IPhone(); iPhone.setName(“苹果手机”); iPhone.setPrice(new BigDecimal(“8000”)); System.out.println(iPhone.toString()); } }
继承的规则:

单继承:一个类只能继承一个父类
多重继承:一个类可以有多个层级关系,比如B继承A,C继承B
多态
理解:一个事物的多种形态,同一个接口的不同实例对象

前置要求:继承,重写,父类引用指向子类
优点:
1、提高了代码的拓展性
2、解除类型之间的耦合关系
缺点:
1、父类不能使用子类特有的功能
Example:
/** * @author wys * @date 2021/1/13 10:29 上午 */ public interface Phone { void desc(); } public class IPhone implements Phone{ @Override public void desc() { System.out.println(“苹果手机”); } } public class MiPhone implements Phone{ @Override public void desc() { System.out.println(“小米手机”); } } 复制代码
关键字
this:
this指代当前类的对象,例如子类继承父类,重写了父类的方法,可以用this关键字调用子类方法
super:
super指代父类对象,可以调用父类方法
final:
修饰位置:

类:类不能被继承
方法:不能被重写
变量:不能被改变
修饰引用类型:引用类型的内存地址不可变,指向的值可以变。
final 修饰的变量 会直接放在变量池中,如果一个类调用final修饰的变量是不会加载类的
抽象类和接口的区别:

抽象,使用extends关键字继承抽象类,子类使用,使用implements关键字实现接口
抽象类可以有抽象方法和非抽象方法,接口只能有抽象方法,但是jdk1.8之后接口有个default关键字,可以编写方法体
一个类只能继承一个抽象类,一个类可以 实现多个接口
接口和抽象类都不能被实例化
类实例初始化过程:

父类静态属性
父类静态代码块
子类静态属性
子类静态代码块
父类普通代码块
父类普通成员变量
父类构造方法
子类普通代码块
子类普通成员变量
子类构造方法
2、异常
3、多线程
4、集合
5、反射
6、网络
7、IO流

猜你喜欢

转载自blog.csdn.net/dcj19980805/article/details/114932472