美文网首页java架构经验分享
这篇建议java开发都看看,对Java方法及加深理解的很深,值得

这篇建议java开发都看看,对Java方法及加深理解的很深,值得

作者: 前程有光 | 来源:发表于2020-12-04 15:03 被阅读0次

    方法和加深

    • 方法的定义

      • 修饰符
      • 返回类型
      • break:跳出switch,结束循环 和 return 的区别
      • 方法名:注意规范 见名知意
      • 参数列表(参数类型,参数名)…
      • 异常抛出
      // Demo01  类
      public class Demo01 {
      
          // main 方法
          public static void main(String[] args) {
      
          }
      
          /*
          修饰符 返回值类型 方法名(……){
              //方法体
              return 返回值;
          }
          */
          // return 结束方法,返回一个结果!
          public String sayHello(){
              return "hello,world";
          }
          public void print(){
              return;
          }
          public int max(int a,int b){
              return a>b ? a : b; // 三元运算符
          }
       }
      
      
    • 方法的调用

      • 静态方法
      • 非静态方法
      • 形参和实参
      • 值传递和引用传递
      • this 关键字
      package com.opp.demo01
      public class Demo2 {
      
          public static void main(String[] args){
              // 静态方法
          Student.say();
      
          // 非静态方法
          // 实例化这个类 new
          // 对象类型 对象名 = 对象值;
          Student student = new Student();
          student.say();
          }
      
          // 和类一起加载的
          public static void a(){
              b();//报错
          }
          // 类实例化 之后才存在
          public void b(){
      
          }
      }
      
      //==================================
      package com.oop.demo01;
      // 学生类
      public class Student{
      
          // 静态方法
          public static void say(){
              System.out.println("学生说话了");
          }
      
          // 非静态方法
          public void say2(){
               System.out.println("学生说话了");
          }
      }
      
      
      //形参和实参
      public static boid main(String[] args){
          // 实际参数和实际参数的类型要对应
          int add = Demo03.add(1,2);
          System.out.println(add);
      }
      public static int add(int a,int b){
          return a+b;
      }
      
      
      // 值传递
      public class Demo04{
          public static void main(String[] args){
              int a = 1;
              System.out.println(a);// 1
      
              Demo04.change(a);
              System.out.println(a);// 1
          }
      
          // 返回值为空
          public static void change(int a){
              a = 10;
          }
      }
      
      
      // 引用传递:对象,本质还是值传递
      public class Demo05{
          public static void main(String[] args){
              Person person = new Person();
              System.out.println(person.name);//  null
      
              Demo05.change(person);
              System.out.println(person.name);// 里
          }
          public static void change(Person person){
              // person 是一个对象:指向的 ---》 Person person = new Person();这是一个具体的人,可以改变属性!
              person.name = "里";
          }
      }
      
      // 定义了一个Person类,有一个属性:name
      class Person{
          String name;
      }
      
      

    类与对象的关系

    • 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。

      • 动物、植物、手机、电脑……
      • Person类、Pet类、Car类等,这些类都是用来描述/定义某已类具体的事物应该具备的特点和行为
    • 对象是抽象概念的具体实例

      • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
      • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。

    创建与初始化对象

    • 使用new关键字创建对象

    • 使用new关键字创建的时候,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化以及 对类中构造器的调用。

    • 类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

      • 1、必须和类的名字相同
      • 2、必须没有返回值类型,也不能写void
    • 构造器必须要掌握

    • 代码实例(类与对象的创建):

    public static void main(String[] args) {
        // 类:抽象的,实例化
        // 类实例化后会返回一个自己的对象!
        // student 对象就是一个Student 类的具体实例!
    
        Student xiaoming = new Student();
        Student xh = new Student();
    
        xiaoming.name = "小明";
        xiaoming.age = 3;
    
        System.out.println(xiaoming.name);
        System.out.println(xiaoming.age);
    
        xh.name = "小红";
        xh.age = 3;
    
        System.out.println(xh.name);
        System.out.println(xh.age);
    }
    
    // 学生类
    public class Student{
        // 属性:字段
        String name;// null
        int age;// 0
    
        // 方法
        public void study(){
            System.out.println(this.name+"在学习");
        }
    }
    
    
    • 代码实例(构造器详解):
    public static void main(String[] args) {
        //new 实例化了一个对象
        Person person = new Person();
    
        System.out.println(person.name); // LiBo
    }
    
    // java ---> class
    public class Person {
        // 一个类即使什么都不写,它也会存在一个方法
        // 显示定义构造器
    
        String name;
    
        // 实例化初始值
        // 1、使用new关键字,本质实战调用构造器
        public Person() {
            this.name = "LiBo"
        }
    
        // 有参构造:一旦定义了有参构造,无餐就必须显示定义
        public Person(String name){
            this.name = name;
        }
    
        //alt + insert 快捷创建构造器
    }
    
    
    • 总结
    • 构造器:1、和类名相同 2、没有返回值
    • 作用:
    • 1、new 本质在调用构造方法
    • 2、初始化对象的值
    • 注意点:
    • 1、定义有参构造之后,如果想使用无参构造,显示的定义一个无参构造

    简单小结类与对象

    1. 类与对象
      • 类是一个模板:抽象,对象是一个具体的实列
    2. 方法
      • 定义、调用!
    3. 对应的引用
      • 引用类型、基本类型(8)
      • 对象是通过引用来操作的:栈 ----> 堆
    4. 属性:字段Field 成员变量
      • 默认初始化:
        • 数字:0 0.0
        • char:u0000
        • boolean:false
        • 引用:null
      • 修饰符 属性类型 属性名 = 属性值;
    5. 对象的创建和使用
      • 必须使用new 关键字创建对象,构造器 Person muzi = new Person();
      • 对象的属性 muzi.name
      • 对象的方法 muzi.sleep();
      • 静态的属性 属性
      • 动态的行为 方法

    最后

    最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。关注我的公众号前程有光即可获取!


    相关文章

      网友评论

        本文标题:这篇建议java开发都看看,对Java方法及加深理解的很深,值得

        本文链接:https://www.haomeiwen.com/subject/xgciwktx.html