java面向对象

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
          
              }
          }
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值