JAVA面向对象

目录

目录

一,方法:对象的动作

方法的分类

构造方法:默认创建对象的方法

成员方法:对象可以调用的方法

静态方法:全局静态,根据权限决定是否可以调用

方法重载:同名且参数列表的类型、顺序、个数不同的方法

方法的参数传递

二,继承

三,抽象类与接口:父类被继承着用

四,封装:利用访问修饰符保护隐私

五,多态:父类与子类的搭配


一,方法:对象的动作

方法的分类

构造方法:默认创建对象的方法

成员方法:对象可以调用的方法

静态方法:全局静态,根据权限决定是否可以调用

public class Name1 {

public Name1{...}            //构造方法

public void funk1(...){...}    //成员方法

public static void main( String [] args ){
    Name1 n = new Name1 () ;
    n.funk1(...) ;            //方法调用
    }

}

方法重载:同名且参数列表的类型、顺序、个数不同的方法

abstract class ab1{
public void funk1(){}        //抽象方法
}

public class Name1 extends ab1 {

public Name1(){} ;        //构造方法的重载
public Name1(int age){...} ;
public Name1(String name){...} ;

public void funk1(int age , String name){...} ;        //成员方法继承抽象方法的重载
public int funk1(int age , String name , String sex){...} ;

}

方法的参数传递

方法定义时的参数只是一个引用。

方法被调用时,基本数据的值会复制一份到参数地址下,而引用数据类型则是将地址给到参数


二,继承

关键字:extends / super

//父类
class Father{

String name ;
int age = 0 ;

public Father(){
    System.out.println("父类的无参构造方法") ; } ;

public Father(String name , int age){
    System.out.println("父类的带参构造方法") ; } ;
}

//子类
public class Son extends Father{

String sex ;

public Son(String sex){
    super.() ;
    this.sex=sex ;
    System.out.println("子类运行父类的无参构造方法,自己的带参方法");
    }
public Son(String name , int age){
    super.(name , age) ;
    System.out.println("子类运行父类的有参构造方法,自己的无参方法");
    }
public Son(String name , int age , String sex){
    super.(name , age) ;
    System.out.println("子类运行父类的有参构造方法,自己的有参方法");
    }

}

三,抽象类与接口:父类被继承着用

关键字:abstract / interface / implements

//抽象类
public abstract class Ab1{

    //**定义属性和构造方法无改变
int age = 0 ;
public Ab1( int age ){
    this.age = age}

public abstract void funk1() ; //**只能在抽象类中声明抽象方法,要想实现需要被继承后重写

public void funk2(){}        //也能定义普通方法

    //**不能有main方法
}




//接口
public interface{
    //不能有构造方法
String name = "小明"        //接口中的变量默认为常量,默认由public static final修饰
public abstract void funk1() ;    //默认public abstract修饰,即只有抽象方法
}

四,封装:利用访问修饰符保护隐私

包的概念:就像一个文件夹和另一个文件夹

关键字:package / import

Java bean:

将数据设为私有,提高程序可维护性,便于修改

getXxx  ()  {return xx;}  作用:能return一个值

setXxx (int xxx) {this.xx=xx;}作用:给变量赋值


五,多态:父类与子类的搭配

//父类
class Animal{
    String name ;
    String name () { return name;
    }
    void setName(String name){
    this.name=name;
    }
}
//子类
class Dog extends Animal{
    String getName(){
    return name;}
    void setName(String name){
    this.name=name;}
}

父类        父类引用变量        =        new        子类        ( ) ;

引用变量在父类中,其指定的是子类的对象,所以能调用的只有父类和子类共同拥有的方法和属性

子类        子类引用变量        =        ( 子类 )        父类引用变量 ;

逆过来就可以拥有子类单独的方法和属性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值