java面向对象
三大特性:
封装:
概念:一是将对象的属性和行为结合为一个整体,二是为整体内的属性和访问设置访问权限
继承:
-
概念:子类拥有父类中所有非私有属性和方法
-
实现:extends关键字
-
特性:Java中一个子类只能拥有一个父类
-
代码:
public class Person { public String name; public String sex; public int age; public Person(){ } } //Student类继承Person父类中的所有属性并且添加了自己特有学号no,成绩score属性 public class Student extends Person { private int no; private float score; public Student(){}; }
多态:
-
概念:同一对象在不同情况下表现出不同形态,即拥有不同属性和方法
-
实现:继承+重写(覆写)
-
应用:向上转型(子类指针赋值给父类指针)和向下转型(用父类指针给子类指针赋值)
-
代码:
public class Pet { public String name; public int age; public void eat(){ System.out.println("宠物吃东西"); } } public class Dog extends Pet{ @Override //重写,子类和父类同名同参的方法 public void eat() { System.out.println("狗狗在啃骨头"); } public void barking(){ System.out.println("汪汪汪!"); } } public class Test1 { public static void main(String[] args) { //演示多态 Pet pet; pet=new Dog(); //向上转型 pet.eat(); //调用覆写的eat方法 Dog dog = (Dog) pet; //向下转型(要先向上转型) dog.eat(); //调用覆写的eat()方法 dog.barking(); //调用自己的barking方法 } }
抽象类:
用abstract修饰的类,其中可以没有抽象方法,不可以直接用new实例化对象
接口:
可以理解为某类物体的组件,如门锁就是门的组件,其中所有都默认为抽象方法
接口与抽象类的区别:一个类只能继承一个抽象类,但可以实现多个接口,抽象类中的方法不一定都为抽象方法,实现接口时必须重写其中所有方法。
包装类:
-
作用:基本类型数据转换为对象
-
装箱与拆箱
public class WrapperTest { public static void main(String[] args) { int x = 30; Integer i = new Integer(x); //装箱,基本类型-->Integer包装类型 int temp = i.intValue(); //拆箱,Integer包装类型-->int }
-
应用
public class WrapperTest { public static void main(String[] args) { String str1 = "123"; String str2="1.23"; int i = Integer.parseInt(str1); //字符串转int float v = Float.parseFloat(str2); //字符串转float String s1 = String.valueOf(i); //int转字符串 String s2 = String.valueOf(v); //float转字符串s } }
-
-
-