java面向对象

一、封装

1.作用:有效保护对象的状态(即属性值)。

2.外部调用:提供属性对应的get/set方法。

3.优点:避免对数据直接操作导致的错误和安全问题;保护数据的完整性,提升程序的可维护性。

二、继承

1.作用:提取重复代码到统一的类中,通过extends关键字实现继承关系。

2.优点:消除代码重复性;利于可维护性。

3.特点:Java继承是单继承,是类之间的关系,每个子类只能继承一个父类。

4.构造器调用规则:子类构造器总会调用父类的构造器,当子类构造器第一行无this或者supe()r时,系统自动添加super()调用父类无参构造器。

三、多态

1.定义:同一个对象的多种形态,当子类继承父类时,子类对象就有了两种形态,一个是对象的本身原始状态为本态,一个是对象的父类形态为多态。

解释:父类的对象可以指向子类实例的对象。父类  父 = new 子类();

2.方法覆盖(Overriding)和方法重载(Overloading)是Java多态性的不同表现

1)方法重载是一个类中多态性的表现,为了初始化不同参数值。

2)方法覆盖是父类与子类之间多态性的表现。

补充:

3.冒泡排序

思想:依次比较相邻两个数,将小数放在前面,大数放在后面,如此重复,直至完成最终排序。

 
public static void main(String[] args) {
        int [] ts = {0,3,4,7,1,9,2,5,6,8};
        
        for(int i = 0; i<ts.length; i++){
            for(int j = i+1; j<ts.length; j++){
                if(ts[i]>ts[j]){
                    int i1 = ts[i];
                    int i2 = ts[j];
                    ts[i] = i1;
                    ts[j] = i2;
                }
            }
        }
        for(int s : ts){
            System.out.print(s);
        }
    }
 

4.选择排序

思想:每次从待排序数据元素中选取最小的一个元素放在已经排好的数列最后,直至数据元素排完。

 
public static void main(String[] args) {
        
        int [] t = {0,3,4,7,1,9,2,5,6,8};
        
        int minIndex = 0;
        for(int i = 0; i<t.length; i++){
            minIndex = i;
            for(int j = i+1; j<t.length; j++){
                if(t[minIndex]>t[j]){
                    minIndex = j;
                    System.out.println(minIndex);
                }
            }
            if(minIndex != i){
                int i1 = t[i];
                int i2 = t[minIndex];
                t[i] = i2;
                t[minIndex] = i1;
            }
        }
        
        for(int s : t){
            System.out.print(s);
        }
        
    }
 
原文地址:https://www.cnblogs.com/zdf159/p/7255724.html