0
点赞
收藏
分享

微信扫一扫

JAVA笔记---------类的封装与继承

云上笔记 2022-01-05 阅读 103
java

封装:

将某些东西进行隐藏,然后提供相应的方法去获取。

封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。

在java中通过关键字private,protected和public实现封装。

封装思想:

将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节。

四种访问权限修饰符:

java权限修饰符public,protected,private置于类的成员定义前,用来限定对象对该类成员的访问权限。

对于class的权限修饰符只可以用public和default(缺省)

public类可以在任意地方被访问

default类只可以被同一个包内部的类访问

继承:

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

class 子类 extends 父类 {}
class student{  
  int ID;String name;int age;
  void sayhello(){System.out.println(name);}
}
class student2 extends student{//student2继承了student的属性和方法
  String sex;
  void set(String name){this.name=name;}//设置器
  String get(){return name;}//获取器
}

类只能继承一个父类,单继承性。

属性的覆盖和重写:

覆盖:类内  重写:类间

class student{  
  int ID;String name;int age=20;
  void sayhello(){
    String name="张三";//局部变量覆盖类属性name
    System.out.println(name);
  }
}
class student2 extends student{//student2继承了student的属性和方法
  int age=30;//重写age
}

方法的重载和重写:

重载:类内   重写:类间

class student{  
  int ID;String name;int age;
  void sayhello(){System.out.println("hello");}
  void sayhello(String name){System.out.println("hello,I am"+name);}//重载
}
class student2 extends student{
  void sayhello(String name,int age){//重写
    System.out.println("hello,I am"+name);
    System.out.println("I am"+age+"years old");
    }
}

this和super的使用:

this代表本类

super代表父类

class student{  
  int ID;String name;int age;
  student(){}
  student(int ID,String name){this.ID=ID;this.name=name;age=20;}
  student(int ID,String name,int age){this(ID,name);this.age=age;}//调用本类的构造方法也就是上面那一条方法
}
class student2 extends student{
  String school;
  student(int ID,String name,int age,String school){super(ID,name,age);this.school=school;}
//调用了父类student的构造方法
}
举报

相关推荐

0 条评论