zoukankan      html  css  js  c++  java
  • 这篇建议java开发都看看,对Java方法及加深理解的很深,值得一看!

    方法和加深

    • 方法的定义

      • 修饰符
      • 返回类型
      • 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, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。关注我的公众号前程有光即可获取!

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/lwh1019/p/14085904.html
Copyright © 2011-2022 走看看