JAVA学习笔记(二)

java学习笔记(二)

类的继承

类的继承格式
class 父类 {
}
class 子类 extends 父类{

}
继承了之后有父类(非私有)的属性或方法
public class Animal{
public String name;
private int id;
public Animal(String myName,String myid){
     //初始化属性值
     }
     public void eat{    }
     public void sleep{   }
}

public class penguin extends Animal{
}
重写父类方法
public class Parent {
  private int age;
  public String name;

public int getAge() {
  return age;
  }
public void setAge(int age){
  this.age=age;
  }
public Parent(int age){
  this.age=age;
  }
public Parent(){
  System.out.println("我是父类的myprint方法");
  }
}

class Son extends Parent{
   public Parent(){
   System.out.println("我是子类的myprint方法");
}

   public static void main(String[] args){
   Son son=new Son();
   son.name="zhangsan";
   son.myPrint();
   }
}

类的封装

将类的某些信息隐藏才类的内部,不允许外部程序直接访问,而是通过该类提供getter、setter的方法来对隐藏的信息进行操作和访问。

封装的实现步骤

(1)修改属性的可见性设为(private)
(2)创建getter/setter方法(用于属性的读写)
(3)在getter/setter方法中加入属性控制语句

public class Personn {
  private String name;
  private int age;
  
  public int getAge() {
  return age;
  }
  public String getName() {
  return name;
  }
  public void setAge(int age) {
  this.age=age;
  }
  public void setName(String name) {
  this.name=name;
  }
}

构造方法

— 定义
主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,宗与new运算符一起使用在创建对象的造句中,一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

重载
public class Person {
  private String name;
  private int age;

  public Person() {
  }
    public Person(String name) {
    this.name=name;
    }
    public Person(int age) {
    this.age=age;
    }
    public Person(String name,int age) {
     this.name=name;
     this.age=age;
     }


    public String getName() {
      return name;
     }
    public void setName(String name) {
      this.name=name;
     }
    public int getAge() {
      return age;
     }
    public void setAge(int age) {
      this.age=age;
     }
}

class Test {
  public static void main(String[] args) {
    Person person=new Person(name:"zhangsan",age=22);
    // Person person=new Person();
    // person.setName("zhangsan");
    // person.setAge(22);
   }
}
      
重载概念:

1.必须载同一个类中;
2.方法名相同;
3.方法的参数的个数、顺序或类型不同
4.与方法的修饰符和返回值没有关系


重写概念:当父类中的方法无法满足子类需求的时候,需要方法重写。

方法重写的注意事项:
1)重写的方法必须要和父类一模一样(包括返回值类型,方法名、参数列表)
2)重写的方法可以使用@override注解来标识
3)子类中重写的方法的访问权限不能低于父类中方法的访问权限
【权限修饰符:private < 默认(什么都不写) <protected < public】

public class Parent {
  protected void myPrint() {
    System.out.println("我是父类方法");
    }
}

class Son extends Parent {
  public void myPrint() {
     System.out.println("我是子类方法");
     }
}

class Test {
  public static void main (String[] args) {
    Son son=new Son();
    son.myPrint();
    }
}

重写与重载的区别?
方法的重载:在同一个类中,出现多个同名的方法,参数列表不同,与返回值类型。修饰符无关。
方法的重写:子类中出现和父类一模一样的方法(包括返回值类型、方法名、参数列表)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值