2.2 Java面向对象(二)三大特征

本节主要知识点:

Java面向对象的三大特征:封装、继承、多态


一、封装

1、访问修饰符:说明了类以及属性和方法的可访问性。

(1)默认的:

用默认修饰符修饰的类、属性以及方法只能被同一个包中的其它类访问

(2)公有的:public

用public修饰的类、属性以及方法能被任何包中的任何类访问

注意:一般情况下,在Java中,类被修饰为public,类中的方法一般也是用public修饰,属性一般采用private修饰。

(3)私有的:private

用private修饰的属性和方法,该属性和方法只能在当前类中被访问,除此之外都无法访问这些属性和方法。

特别的,private在Java中是无法修饰类的。

(4)受保护的:protected

protected访问修饰符只用于父子继承之间。


封装实例,get方法与set方法:

public class User {
	
	private int id;
	private String username;
	private String password;
	private double money;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public double getMoney() {
		return money;
	}
	public void setMoney(double money) {
		this.money = money;
	}

2、包(package):采用IDE(集成开发环境)写代码,根据功能的不同,那么不同的JAVA文件会被放置到不同的文件夹中,而在IDE中这个文件夹的概念就被称之为包。

注意:类一般采用public修饰,同一包中的类可以直接相互调用,而同一个项目下不同包的类想要相互调用,必须通过import引入。


3、封装的目的:为了让被private修饰的属性在当前类以外被访问。

4、封装的方法:get方法和set方法。在Java中,私有的属性加上get方法和set方法就共同构成了Java中的封装。


二、继承

1、继承的原因:很多实体类中拥有相同的属性以及封装的方法,大量重复的代码很容易造成代码冗余。

2、继承的方法:利用关键字extends,把这些类中拥有的相同的属性和方法提取出来,创建一个公有类,这些类直接使用公有类中的属性和方法。一旦确定子类继承某个父类,那么该子类就可以使用父类非私有属性方法

3、继承具有单根性,一个子类只能继承一个父类


三、多态

1、在Java中,多态是伴随着继承而来的。


2、重写:在父子关系中,父类中拥有的方法,子类也写了相同的方法。这个过程称为重写

注意:只要子类中出现了和父类同名的、同返回值的、同参数的方法,就认为是子类重写了父类的方法。


3、抽象:在Java中,父类通过子类抽象出公有类,所以父类比子类更抽象。

(1)抽象类:在父子继承关系中,一般把父类声明为抽象的类。

(2)抽象方法:父类的方法更多可以是描述性方法,我们把这些方法声明为抽象方法。抽象方法是没有方法体的方法。

(3)抽象方法只能存在于抽象类,但是抽象类中除了可以有抽象方法外,也可以拥有普通方法。

(4)子类继承抽象父类,那么子类必须要实现该父类中的所有抽象方法。

(5)抽象类是无法自己实例化自己的类,抽象类的对象实例化的时候必须指向其子类。


4、构造方法与普通方法

(1)方法:是为了实现某个或某些功能而编写的代码段,这个代码段被封装在一个结构中。

(2)方法的基本结构:

方法的基本结构
          访问修饰符    返回值类型       方法名(...)
          {
               功能代码段
}
注意:①方法的访问修饰符可以是默认的、public、private、protected;
②方法的返回值类型主要分为有返回值(即非void)、无返回值类型(即void);
③方法的调用就是通过方法名;

④方法是可以带参数的,方法中带的参数被称之为形式参数,简称形参,那么对象在调用该方法的时候需要给这个方法传递实参。

(3)普通方法:

public void go()
      {
无返回值无参数的方法
}

public void go(int id,String name)
{
无返回值但有参数的方法
}

public int go()
{
          //有返回值但无参数的方法
          return 0;
}

public int go(int id,String name)
{
          //有返回值且有参数的方法
          return 0;
}

(4)构造方法:只存在于当前类中的方法,它无任何返回值,与类同名。

public class User
{
    public User()
    {
	
    }
}

(5)构造方法是一种没有任何返回值类型的方法,无参的构造方法是伴随着类的生成而生成的,而且构造方法就是类的对象用于实例化的方法,简单来说,我们平时总是说new对象,其实new对象后面用的就是构造方法。

(6)无参构造方法确实是伴随着类的生成而默认存在的,但是一旦手动添加了带参的构造方法,无参的构造方法就被覆盖了,不会再默认提供了,如果想要使用,必须手动添加回来。



Java面向对象相关知识:


2.1 Java面向对象(一)类、对象、属性、方法

2.2 Java面向对象(二)三大特征

2.3 Java面向对象(三)接口、静态、常量

2.4 Java面向对象(四)值类型和引用类型

2.5 Java面向对象(五)集合


猜你喜欢

转载自blog.csdn.net/qq_40254536/article/details/80847770
2.2