前言
大家好,今天给大家带来详细讲解Java中的类和面向对象思想的概述,希望你们喜欢
类和面向对象
在Java中怎样理解对象,创建对象和引用;什么是引用,对于基础学习的同学,要深入了解引用。示例:String str = new String();
;其中str为引用,并创建了一个对象。
引用
如果一个变量的类型是类的类型,不是基本数据类型,那么这个变量就叫做引用。
对 Person person = new Person();
这个的理解:
person叫做引用,new Person() 为创建了一个对象, " = " 表示左边的引用指向右边的对象。
面向对象思想
面向过程:就是站在过程的角度去思考问题,功能的执行过程,就是我们在实现功能的过程,类似方法,使用时,调用该函数就成。
面向对象:一种基于面向过程的编程思想,面向对象,就是站在对象的角度去思考问题。
面向对象的三大特征
继承:就是子类继承父类,子类是一种特殊的类,可以直接或间接的获取父类的成员。
封装:就是将对象的实现的细节隐藏起来,通过公共的方法向外暴露对象的功能。
多态:多态就是把子类的对象赋值给父类的变量。
对象
对象的定义:状态和行为
一切事物都可以认为是对象,具有状态和行为。
类
类是对象的模板,类是构建对象的基础,对象的抽象是类,类的具体化则是对象,在代码中我们常说创建一个类,并在类中实例化对象。
对象的创建及其使用
在程序中,先有类,再有对象
创建对象: 类 对象名 = new 类名();
对象调用方法: 对象名.方法名();
匿名对象:就是该对象没有名字,创建对象时,没有赋给一个变量
匿名对象的示例:
new Person();
匿名对象只能被使用一次,由 new Person()
就可以知道,创建后无法再次使用。
一个引用,多个对象
//当创建了一个引用,再把该引用指向另一个对象Personone one = new Personone(); one = new Persontwo(); //代表该引用指向了另一个对象,那么之前的对象将不被该引用指向,那么之前的对象会被Java的回收机制处理
继承
在现实世界当中,继承就是儿子得到老子的东西,在面向对象的世界当中,继承就是一个类得到了另一个类当中的成员变量和成员方法
Java只支持单继承,不允许多继承,继承是为了减少重复代码
使用super调用父类构造函数的方法
class Person{String name;int age; Person(){ System.out.prinltn("Person的无参数构造函数"); } Person(String name,int age){ this.name=name; this.age=age; System.out.println("Person有参数的构造函数"); }void eat(){ System.out.println("定义吃饭的方法"); } }
class Student extends Person{//子类继承父类Student(){ //父类 super(); System.out.println("Student的无参数构造函数"); } Student(String name,int age,int id){ super(name,age); this.id=id; } }//测试类class Test{public static void main(String args[]){ Student student = new Student(); } }
重写和重载
重载:方法名一样,但是参数类型不一样(不同的参数个数,不同的参数类型,不同的参数次序)
重写:子类中定义的某个方法与其父类有相同的名称和参数,则该方法被重写了
构造方法
public class Person{ Person(){ //构造方法 } public static void main(String[] args){ Person person = new Person(); } }
四种访问修饰符
private 私有的
default 不写
protected 受保护的
public 公共的
类属性,对象属性
类属性: 叫做静态属性
对象属性: 叫实例属性,非静态属性
类方法,对象方法
类方法: 叫做静态方法
对象方法: 叫实例方法,非静态方法
对象属性初始化,类属性初始化
对象属性初始化3种
声明该属性的时候初始化
构造方法中初始化
初始化块
类属性初始化2种
声明该属性的时候初始化
静态初始化块
书籍
Core Java
Effective Java
Thinking in Java
First Head Java
总结
本文讲了详细讲解Java中的类和面向对象思想,如果您还有更好地理解,欢迎沟通定位:分享 Android&Java知识点,有兴趣可以继续关注