java面向对象

笔记:Java704 | ProcessOn免费在线作图,在线流程图,在线思维导图

一:面向对象

面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。面向对象的语言中,包含了三大基本特征,即封装、继承和多态。

二:基本属性

类和对象:

  • 类:类是一个模板,它描述一类对象的行为和状态。
  • 对象:对象是类的一个实例,是一类事物的具体体现,必然具备该事物的属性和行为。
  • 类与对象的关系:

 三:面向对象的特点是:封装,继承,多态

四:方法(函数:表明某个功能)

1.格式:关键字 返回值类型 函数名称(形式参数){
                       函数体
             (return)
           }

2.方法重载:如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载

3.方法的调用:实际的参数

方法在定义完毕后,方法不会自己执行,必须被调用才能执行。我们可以在主方法main中来调用我们定义的方法。在main方法中,直接写需要调用的方法的名字就可以了。

如果该方法有形式参数,就需要传参

调用有返回值的方法:
1.变量进行接受返回值
2.直接输出返回值

调用没有返回值的方法:
直接通过类名或者对象名称调用

五:关键字

1.权限关键字:①  public:公共的、权限是最大的、其他的包下可以访问、本包下可以访问、子类可以访问、本文件下可以访问

② protected:在其他包下不能访问、在本包,子类,本文件是可以访问的

③ default:没有权限关键字的情况下,默认为default、在外部包和子类下不能访问、在本包和自己的类下可以访问

④ private:权限最小、只有在本类下可以访问

2.class

3.void

4.static:1.修饰变量:静态变量    2.修饰方法:静态方法

注意事项:

  • 它们仅能调用其他的static 方法。
  • 它们只能访问static数据。
  • 它们不能以任何方式引用this 或super(关键字super 与继承有关)
  • 它们只能被“.”运算符调用

5.this:在当前类中使用

6.final关键字(终结):修饰方法:方法不能被重写、修饰类时:当前类不能被继承、修饰变量时:该值不能改变

六:构造方法(构造器)

1.有参构造器:定义格式  

	public Admin() {
		
	}
	
	public Admin(String name,int age,String loginName,String password) {
	
		this.name=name;
		
		this.age=age;
		
		this.loginName=loginName;
		
		this.password=password;
		
	}

2:无参构造器  :自己没有构造方法(有参还是无参)
JVM会给我们提供一个无参构造方法

注意事项:

  • 构造方法的名称必须与类的名称相同,
  • 构造方法没有返回值。
  • 每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。
  • 构造方法是用来初始化类对象,并为类的成员变量赋值
  • 构造方法可以有多个,通过方法重载实现。

 七:面向对象三大特性:封装、继承、多态

1.封装

封装的特点

  • 把类的属性隐藏,提供公共方法对其访问
  • 提高了代码的复用性
  • 提高了代码的安全性

封装的方式

  • 私有化成员变量
    私有化成员变量,使用private关键字修饰。

代码示例:

public class Admin {

	private String name;
	
	private int age;
	
	private String phone;
	
	private String password;

}

  • 设置成员变量的公共方法进行访问
    为每个成员变量(类的属性)创建get()和set()方法,get()方法表示获取属性,set()方法表示为属性赋值。

代码示例:


private String name;
	private String sex;
	private int age;
	public Student1() {
	}
	public Student1(String name, String sex, int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

2.继承(extends关键字  子类继承父类的属性和行为)

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要 继承那一个类即可

 

定义格式:

class 父类{
......
}

class 子类 extends 父类{
......
}

方法重写:

如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,叫做方法重写 (Override)。

方法重写 :子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。

super关键字:表示继承父类的行为调用父类的构造方法

3.多态(是指同一行为,具有多个不同表现形式)

向上转型:1.父类的引用指向子类的具体实现
2.是安全的
3.该引用只能实现子类对父类的方法重写以及父类独有的方法

格式:父类类型 变量名 = new 子类对象;
变量名.方法名();

向下转型:不安全,需要强制类型转化

八:抽象类、接口

1.抽象类:含有抽象方法的类就叫做抽象类,abstract关键字,可以包含普通方法

①:抽象类不能实例化

②:抽象类没有方法体:public abstract void area();
                                        public abstract void circumference() ;

2.接口:interface关键字

常量:static final String name = "sgd";

抽象方法:接口里的抽象方法abstarct关键字可以省略

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值