0
点赞
收藏
分享

微信扫一扫

【Java】javaSE的基础知识概括(三)

凶猛的小白兔 2022-04-08 阅读 87
java

七、类和对象

1.类

类是用来对一个实体(对象)来进行描述的,在Java中定义类时需要用到class关键字。类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能、可以干什么,称为类的成员方法。

语法格式:

具体实现如下:

//定义一个手机类
class Mobile{           //类名采用大驼峰命名法
     public  String  color;         //颜色
     public  String  size;          //尺寸
     public  String  brand;         //品牌 
     
     public  void   TakePictures(){        //拍照
            System.out.println("拍照功能");
     }
     public  void   Call(){        //打电话
            System.out.println("打电话功能");
     } 
     public  void   ListeningToMusic(){        //听音乐
            System.out.println("听歌功能");
     }   
}        

2.对象的创建和使用

类是对象必不可少的创建基础,有了类以后,就可以根据类来创建对象,用类类型创建对象的过程,称为类的实例化,在Java中采用new关键字,配合类名来实例化对象。实例化对象需要为对象分配内存、调用合适的构造方法。

public static void main(String[] args) {
      Mobile  phone=new Mobile();     //通过new实例化对象
      phone.brand="华为";
      phone.color="白色";
      phone.size="六寸";
      phone.Call();
      phone.ListeningToMusic();
      phone.TakePictures();
    }

注意:

·new 关键字用于创建一个对象的实例

·使用 . (点)来访问对象中的属性和方法

3.构造方法

构造方法是一个特殊的成员方法,使用来实例化对象的。

构造方法的名字必须与类名相同,没有返回值类型,设置为void也不可以;一般情况下用public修饰;在创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次;当我们没有提供任何的构造方法时,编译器会帮我们提供一个不带参数的构造方法。

4.封装

·概念

对外隐藏(private)内部的实现细节,提供一个公有的方法,供类外进行使用。也就是将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互。

·访问修饰符

Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符人类对事物的认知,而访问权限用来控制方法或者字段能否直接在类外使用。Java提供了四种访问修饰符,但访问修饰符的控制范围是不同的,如下所示:

访问修饰符名称说明备注
public可以被任何类访问
protected

可以被同一包的所有类访问

可以被所有子类访问

子类没有在同一包中也可以访问
private只能够被当前类的方法访问
default(无访问修饰符)可以被同一包中的所有类访问如果子类没有在同一包中不能访问

public:就像一个人的外貌,谁都可以看见

private:只有自己知道,别人都不知道

default:就像“家(同一个包)丑不可外扬”,只有家里人知道,对于别人就是隐私

八、继承和多态

1.继承

对共性的抽取,以达到对代码的复用。在Java中如果要表示类之间的继承关系,需要借助extends关键字,具体如下:

电脑和手机有共同属性,实现一个电子设备类的继承。具体实现如下:

//ElectronicEquipment.java
public class ElectronicEquipment{
     public  String  color;         //颜色
     public  String  size;          //尺寸
     public  String  brand;         //品牌 
     
     public  void   Chat(){        //聊天
            System.out.println("聊天功能");
     } 
     public  void   ListeningToMusic(){        //听音乐
            System.out.println("听歌功能");
     } 

//Phone.java
public class Phone extends ElectronicEquipment{
     void TakePictures(){                    //拍照
         System.out.println("拍照功能");
    }
}

//Computer.java
public class Computer extends ElectronicEquipment{
     void KnockCode(){                       //敲代码
         System.out.println("敲代码功能");
    }
}

//TestExtend.java
public class TestExtend{
    public static void  main(String[] args]){
    Phone phone=new Phone;
    System.out.println(phone.color);
    System.out.println(phone.size);
    System.out.println(phone.brand);
    phone.Chat();
    phone.ListeningToMusic();
    phone.TakePictures();
   }
}
               

2.多态

·概念

多态是面向对象的重要特性,多态顾名思义就是多种形态,多态机制在提高了程序的简洁性的同时,提升了程序的可扩展性。

·实现条件

1. 必须在继承体系下

2. 子类必须要对父类中方法进行重写

3. 通过父类的引用调用重写的方法

九、抽象类和接口

1.抽象类

·概念

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。如:

说明:
·矩形、三角形、园形都是图形,因此和Shape类的惯性应该是继承关系

·虽然图形图Shape中也存在draw的方法,但由于Shape类并不是具体的图形,因此其内部的draw方法实际是没有办法实现的

·由于Shape类没有办法描述一个具体的图形,导致其draw)方法无法具体实现,因此可以将Shape类设计为"抽象类"

2.接口

在Java中,接口可以看做是多个类的公共规范,是一种引用数据类型。接口的定义格式与定义类的格式基本相同,只需将class关键字换成interface关键字,就定义了一个接口,实现如下:

public interface 接口名称{ 
     // 抽象方法
    public abstract void method1(); // public abstract 是固定搭配,可以不写
    public void method2();
    abstract void method3();
    void method4();     //在接口中上述写法都是抽象方法,method4(),代码更简洁
}

注意:

1. 创建接口时, 接口的命名一般以大写字母 I 开头

2. 接口的命名一般使用“形容词”词性的单词。

举报

相关推荐

0 条评论