Java-基础学习-面向对象思维总结

目录

一:面向对象

1.基础概念

 二:类与对象

2.1类的构成

2.2 类的访问机制

2.3 成员变量和局部变量异同点

2.4 权限修饰符比较

2.5 class关键字    

 2.6 构造方法

2.6 this关键字

 2.7 static 关键字        

2.8 继承

​ 2.9 方法的重写  

​2.10 super关键字

2.11 多态性

三: 高级概念

3.1方法的重载

 3.2 instanceof关键字

3.3 抽象类与接口

3.4 接口

3.5 final关键字

四.其它

4.1Java中值传递

4.2 四种权限修饰符

4.3mvc设计模式


一:面向对象

1.基础概念

        面向对象程序设计的特点: 封装,继承,多态。
        封装:将对象的属性和行为封装起来,其载体就是类,类通常会对用户隐藏其实现细节。
        继承:继承是实现重复利用的手段,子类通过继承,复用父类属性和行为的同时
        又添加子类特有的属性和行为
        多态:将父类对象应用于子类的特征就是多态。子类继承父类特征的同时,也具备了自己的特征,
                  并且能够实现不同的效果,这就是多态化的结构。

 二:类与对象

2.1类的构成

      

2.2 类的访问机制

2.3 成员变量和局部变量异同点

 在Java中对象的属性也称为成员变量。成员变量的类型可以设置为Java中合法的数据类型

局部变量:如果在成员方法内定义一个变量,那么这个变量被称为局部变量。
                  局部变量在方法执行时被创建,在方法执行结束时被销毁。

2.4 权限修饰符比较

2.5 class关键字    

Java中定义类时使用class关键字

         * class 类名称{
         *     // 类的成员变量
         *     // 类的成员方法
         * }

 2.6 构造方法

   在类中除了成员方法之外,还存在一种特殊类型的方法。构造方法与类同名的方法,对象的创建
 就是通过构造方法完成的。每当实例化一个对象时,类都会自动调用构造函数方法。
构造方法特点如下:
构造方法没有返回类型,也不能定义为void。
构造方法的名称要与本类的名称相同。
 构造方法的主要作用是完成对象的初始化工作,它能把定义的参数传给对象成员。

2.6 this关键字

当类中的成员变量与成员方法中的参数重名时,会导致方法无法直接使用成员变量。
在Java语言中规定,使用this关键字来代表本类对象的引用,this关键字
 被隐式地用于引用对象的成员变量和方法。
       

 2.7 static 关键字
        

在Java程序中,把共享的变量用static修饰,那么该变量就是静态变量。

2.8 继承

使用extends关键字让一个类继承另一个类。子类在继承父类的同时,也继承了
         *    父类中的属性和方法。Java仅支持单继承。


         


 2.9 方法的重写  

父类的成员都会被子类继承,当父类中的某个方法并不适用玉子类时,
就需要在子类中重写父类的这个方法。重写(还可以成为覆盖)就是在
 子类中将父类的成员方法名称保留,重新编写父类成员方法的实现内容,
更改成员方法的存储权限,或者是修改成员方法的返回值类型。
【注意】:在继承中还有一种特殊的重写方式,子类与父类的成员方法返回值,方法名称
 参数类型及个数完全相同,唯一不同的是方法实现内容,这种特殊的重写方式被称为重构。
 //重载和重构 https://www.runoob.com/java/java-override-overload.html


         * 


2.10 super关键字

如果子类重写了父类的方法,但是想在子类的方法中实现父类的原有方法怎么办,为了
 解决这种需求,Java提供了super关键字,super关键字代表父类对象
语法:
super.property;
super.method();


     

2.11 多态性

补充:再看方法的重载和重写区别

三: 高级概念

3.1方法的重载

构造方法的名称由类名决定。如果以不同的方式创建某个类的对象,
          那么就需要使用多个形参不同的构造方法来完成,为了让这些方法名相同但形参不同的构造方法同时存在,
          必须用到"方法的重载",方法的重载允许同一个类中同时存在多个同名方法,只要这些
         方法的参数个数或者类型不同即可。

 3.2 instanceof关键字

 判断父类对象是否为子类的实例,,还可以判断某个类是否实现了某个接口。
 该表达式的返回值为布尔型

3.3 抽象类与接口

  在Java中,抽象类不能产生对象实例。定义抽象类,需要使用abstract关键字。
定义抽象类语法:[权限修饰符] abstract class 类名{}
定义抽象方法语法: [权限修饰符] abstract 方法返回值类型 方法名(参数列表)
从抽象方法语法可以看出,抽象方法是直接以分号结尾的,没有方法体,抽象方法本身没有任何意义
除非被重写,而承载这个抽象方法的抽象类必须被继承。实际上,抽象类除了被继承之外没有任何意义

3.4 接口

接口是抽象类的延伸,可以将它看作纯粹的抽象类,接口中的方法都没有方法体。
接口使用interface关键字进行定义
 语法:
[修饰符] interface 接口名 [extends 父接口名列表]{
 [public] [static] [final] 常量;
 [public] [abstract] 方法;
  }

3.5 final关键字

  被final修饰的类,方法和变量不能被改变  
如果希望一个类不允许任何类继承,并且不允许其他人对这个类进行任何改动,可以将
这个类设置为final类
语法:
final class 类名{}
 final 方法。被final修饰的方法不能被重写
 final变量: 不可以再改变变量的值,通常被视作常量

四.其它

4.1Java中值传递

总结出精髓:适用于变量赋值和形式参数赋值。

1)如果变量是基本数据类型,此时赋值的是变量所保存的数据值

2)如果变量是引用数据类型(例如数组或者对象),此时赋值的是变量所保存的地址值。

public class tranfervalue {
    public static void main(String[] args) {
        tranfervalue exam1= new tranfervalue();
        int m = 10;
        int n = 5;
        System.out.println("m: "+m+" n: "+n);
        exam1.swap(m,n);
        System.out.println("m: "+m+" n: "+n);
    }
    public void swap(int i, int j){
        int temp =i;
        i = j;
        j = temp;
    }

}


4.2 四种权限修饰符

4.3mvc设计模式

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值