面向对象,成员/局部变量,this关键字,类的构造方法

本文介绍了Java中的面向对象概念,包括对象、类、封装、继承和多态。深入讲解了成员变量、局部变量,重点讨论了this关键字的使用,特别是在构造方法中的应用。此外,还探讨了类的构造方法,包括默认构造器和私有构造器的作用。
摘要由CSDN通过智能技术生成

这是一个不与人见面,也能活得很好的时代,反而有点令人想与人相遇。

目录

面向对象的概述

对象

封装

继承

多态

成员变量

类与对象

成员方法

类的行为(方法)

局部变量

this关键字

 示例

this调用本身构造方法

类的构造方法

 构造方法

私有的构造方法


面向对象的概述

对象

object表示任意存在的事物,是一个抽象的概念。 

属性:静态部分(不能动的部分),任何对象都具备其自身属性,如:一个人包括高矮、胖瘦。

是同一类事物的统称。(对象属于某个类,但不能说类属于某个对象)

例:麻雀属于鸟类,但鸟类不能说属于麻雀。

封装

面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类。

类通常对客户隐藏其实现的细节。(就像用户使用计算机,只需要用就好,不需要知道计算机内部是如何工作的)

继承

当处理一个问题时,可以将一些有用的类保存下来,这些类通常有相同的属性,甚至相同的方法。当遇到同样的问题是就可以拿出来复用。

例:

鸽子具有与鸟类相同的属性和行为。便可以在创建鸽类时将鸟类拿来服用,并且保留鸟类具有的属性和行为。

多态

将父类对象应用于子类的特征就是多态

(子类继承父类,同时又有自己的其他特征)

成员变量

类与对象

成员变量是java中类的属性

public class Bird{
    String wing;//翅膀
/*
*Bird类的属性:wing claw,beak feather
*/
    String claw;//爪子
    String beak;//嘴
    String feather;//羽毛
}

成员方法

类的行为(方法)

例:进行投票选举,类提供一种方法,我们调用会返回一种结果。

方法(函数):

[权限修饰符][返回值的类型]方法名([参数类型 参数名])[throws 异常类型]{

        ...//方法体

        return 返回值;

}

public class Demo{
    int sum(){
        return 1+1;
    }
    public static void main(String[] args){
        Demo d=new Demo();
        int a=d.sum();
        Sytsem.out.println(a);
    }
}

方法的返回值:

int sum(){

        return 1+1;

}        (方法返回一个Int值)

   方法的返回值可以是任何基础类型(int,double,boolean)也可以是任何可用的类(String,object)也可以是任意类型的数组或者无返回值也可以。

public class Demo{
    int sum(){
        int i=0;
        for(i=0;i<=3;i++){
            if(i==2){
            return 9;
            }
            i++;
        }
        return i;
    }
    public static void main(String[] args){
        Demo d=new Demo();
        int a=d.sum();
        Sytsem.out.println(a);
    }
}

局部变量

局部变量:在成员方法内定义的变量

例:

public String getName(){
    int id=0;
//id为局部变量
    return id+name;
}

局部变量的有效范围:声明到结束。

public String getName(){
    int id=0;
    //id为局部变量,作用范围从getName(){..} 
    //"{}"里面的都是作用区间
    for(int i=0;i<2;i++){
      i++;
    } 
     //i为局部变量,它的作用区间是从for(){ }开始, "{}"大括号里面的内容是它的作用区间
  return id+name;
}

在连个不同嵌套区域中可以定义同名,同类型的局部变量

public void doString(String name){
    int id=0;
    for(int i=0;i<3;i++){
        System.out.println(name+String.valueOf(i));
    }
    for(int i=0;i<2;i++){
        System.out.println(i);
    }
//在连个不同嵌套区域中可以定义同名,同类型的局部变量
}

this关键字

变量与参数重合

this:代表类本身的对象

 示例

public class Book{
    String name="as";
    public void showName(String name){
        System.out.println(this.name);
    }
     public static void main(String[] args){
        Book b=new Book();
        b.showName("123");
    }
}
//结果是as,this相当于本身这个类的对象,我们调用本身的对象,避免与方法中的参数相同

this调用本身构造方法

public class Bird{

         Strinng name;

        public Bird(){  

        }

        public Bird(String name){

                this.name=name;//成员变量=参数的值

                System.out.println("鸟的名字叫"+this.name);

          }

        

}

类的构造方法

 构造方法

与类同名的方法,对象的创造方法是通过构造方法完成的。

例:

Public class Bird{

        public Bird(){

        }    //Bird的类的构造方法(可以在构造方法中做类的初始化)

}

注意:1:构造方法名与类名相同。 2:构造方法没有返回值。

public class Bird{
    String wing;
    String claw;
    String beak;
    String feather;
    public Bird(){
        feather="红色";
    }

}

私有的构造方法

private修饰   无法使用new 实例化

//main部分
public class Demo{
    
    public static void main(String[] args){
        Book b=Book.getBook();//Book的静态方法getBook
    }
}
//
public class Book{
    public Book(){
    }
    public.static Book getBook(){
        return new Book();//自己创建
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值