zoukankan      html  css  js  c++  java
  • J-7 面向对象

    形式参数
    匿名对象
    封装
    构造方法
    成员方法
    成员变量
    基本类的标准代码写法

    五、形式参数

    • 基本类型:形式参数的改变不影响实际参数

    • 引用类型:形式参数的改变直接影响实际参数

    • 方法的形式参数是类名时:

        //形式参数是基本类型
        class Demo {
        	public int sum(int a,int b) {
        		return a + b;
        	}
        }
        
        //形式参数是引用类型
        class Student {
        	public void show() {
        		System.out.println("引用类型");
        	}
        }
        
        class StudentDemo {
        	//如果你看到了一个方法的形式参数是一个类(引用类型),这里需要的是该类的对象。
        	public void method(Student s) { 
        		s.show();
        	}
        }
        
        class ArgsTest {
        	public static void main(String[] args) {
        		//形式参数是基本类型的调用
        		Demo d = new Demo();
        		int result = d.sum(10,20);
        		System.out.println("result:"+result);
        		System.out.println("--------------");
        		
        		//形式参数是引用类型的调用
        		//需求:调用StudentDemo类中的method()方法
        		StudentDemo sd = new StudentDemo();
        		//创建学生对象,对对象进行操作。
        		Student s = new Student();
        		sd.method(s); //把s的地址给到了这里
        		}
        	}
      

    六、匿名对象

    • 没有名字的对象

    • 应用场景:
      ①调用方法,仅仅调用一次。优点:匿名对象调用完毕就是垃圾,可以被回收。
      ②作为实际参数传递。

        class Student{
        	public void show(){
        		System.out.println("我是student");
        	}
        }
        class StudentDemo{
        	public void method(Student s){
        		System.out.println("我是studentDemo");
        	}
        }
        
        class NoNameDemo{
        	public static void main(String[] args){
        		//带名字的调用
        		Student s = new Student();
        		s.show();
        		//匿名对象
        		new Student().show();
        		//new Student().show();//这里是新创建的对象。
        		
        		
        		StudentDemo sd = new StudentDemo();
        		sd.method(new Student());//作为实际参数传递
        		//升级版
        		new StudentDemo().method(new.Student());
        	}
        }
      

    七、封装

    概述

    • 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式。
    • 优点:①隐藏实现细节;②提高代码的复用性;③提高安全性。
    • 原则:不需要将对外提供的内容都隐藏起来;把属性隐藏。
    • 测试类只创建对象,调用方法。

    private关键字

    • 权限修饰符。
    • 修饰成员(成员变量,成员方法)。只能在本类中访问。
    • 应用:把成员变量用private修饰,提供对应的set、get方法。

    this关键字

    • 当前类的对象名。
    • 方法被哪个对象调用,this就代表哪个对象。
    • 使用情况:
      ①解决局部变量隐藏成员变量;
      ②其他

    八、构造方法

    • 作用:给对象的数据进行初始化。

    • 格式:
      方法名与类名相同。
      没有返回值类型。
      没有具体的返回值。

        class Student{
        	public Student(){
        		System.out.println("这是构造方法");
        	}
        }
      
    • 注意事项:
      ①如果我们没有给出构造函数,系统将自动提供一个无参构造函数。
      ②如果我们给出构造函数,系统将不再提供默认的无参构造函数。
      如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出。

    九、成员方法

    • 分类:
      ①根据返回值:void类型,非void类型
      ②根据形式参数:空参方法,非空参方法。

    十、成员变量:

    • 如果这个变量是用来描述这个类的信息时,该变量应定义为成员变量。
    • 变量的定义:范围越小越好,用完及时回收。
    • 初始化:
      默认初始化
      显示初始化
      构造初始化

    十一、基本类的标准代码写法

    • 给成员变量赋值:
      ① setXxx()灵活性高
      ②构造方法。
    • 输出成员变量值:
      ①getXxx()灵活性高
      ②通过调用show()方法。
  • 相关阅读:
    方向-Vocabulary
    常见问题之Zego+Audio原生播放音频冲突
    synchronized类锁,方法锁,块级锁,一文看懂
    vim复制粘贴
    FastDFS文件服务器安装指南附安装包和自启动(看此篇就够了)
    springboot后端校验
    springboot打包启动时报mybatis的typeAlias类名找不到的错误
    给springboot增加XSS跨站脚本攻击防护功能
    docker cannot open directory .: Permission denied无权限问题
    docker学习笔记一篇就通系列(持续更新)
  • 原文地址:https://www.cnblogs.com/android-lyz/p/4758039.html
Copyright © 2011-2022 走看看