1、数据类型

  1. 基本类型

    低------------------------------------------------->高

    byte,short,char -> int -> long -> float -> double

  2. 引用类型:类,接口,数组

2、方法

  1. 方法可以返回一个数组

    public int[] getSumAndSub(int n1, int n2){
    int[]resArr = new int[2];//创建一个数组
    resArry[0] = n1 + n2;
    resArry[1] = n1 - n2;
    return resArr;
    }
  2. 方法名遵循驼峰命名

  3. 方法中不可以再定义方法

  4. 引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参!

  5. 返回类型是类,返回也是一个类对象

    class Person{
    String name;
    int age;
    } class MyTools{
    public Person copyPerson(Person p){
    Person p2 = new Person();
    p2.name = p.name;
    p2.age = p.age;
    return p2;
    }
    }
  6. 可变参数

    //1. int...表示接受的是可变参数,类型是int ,即可以接受多个int(0-多)
    //2. 使用可变参数时,可以当作数组来使用 即 nums 可以当最数组
    public int sum(int... nums){
    int res = 0;
    for(int i = 0;i < nums.length; i++){
    res += nums[i];
    }
    return res;
    }
    //3. 可变参数的实参可以为数组
    //4. 可变参数可以和普通类型的参数一样一起放在形参列表,但必须保证可变参数在最后
    //5. 一个形参列表中只能出现一个可变参数

3、作用域

  • 局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中
  • 全局变量:也就是属性,作用域为整个类体
  • 全局变量(属性)可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值
  • 属性和局部变量可以重名,访问时遵循就近原则
  • 属性生命周期较长,伴随着对象的创建和创建,伴随着对象的销毁而销毁。局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁
  • 作用域范围不同
    • 全局变量(属性):可以被本类使用,或其他类使用(通过对象调用)
    • 局部变量:只能在本类中对应的方法中使用
  • 修饰符不同
    • 全局变量/属性可以加修饰符
    • 局部变量不可以加修饰符

4、类变量和类方法

  1. 类变量:也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取得的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量
  2. 定义语法
    • 访问修饰符 static 数据类型 变量名;
  3. 访问
    • 类名.类变量名 (推荐)
    • 对象名.类变量名
  4. 不管static变量在哪里,共识(1)static 变量是同一个类所有对象共享(2)static类变量,在类加载的时候就生成了
  5. 加上static 称为类变量或静态变量,否则成为实例变量/普通变量/非静态变量
  6. 实例变量(不加static)不能通过 类名.类变量名 方式访问
  7. 类变量在加载类时就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量了。
  8. 类变量的生命周期时随着类的加载开始,随着类消亡而销毁
  • 类方法也叫静态方法

  • 形式如下:

    • 访问修饰符 static 数据返回类型 方法名(){ }
  • 调用

    • 类名.类方法名 或者 对象名. 方法名
  • 如果我们希望不创建实例,也可以调用某个方法(即当做工具来使用),这时,把方法做成静态方法非常合适

    • System.out.println("9开平方的结果是=" + Math.sqrt(9));
    • 开发自己的工具类时,可以将方法做成静态的,方便调用
  • 类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区;类方法中无this的参数,普通方法中隐含着this的参数

  • 普通方法和对象有关,需要通过对象名调用,比如 对象名.方法名(参数),不能通过类名调用

  • 类方法中不允许使用和对象有关的关键字,比如 this和super,普通方法(成员方法)可以

  • 类方法(静态方法)中,只能访问 静态变量 或 静态方法

  • 普通成员方法,既可以访问 普通变量(方法),也可以访问静态变量(方法)

  • 在编写代码时,仍然要遵守访问权限规则

Java SE note1的更多相关文章

  1. Using Headless Mode in the Java SE Platform--转

    原文地址: By Artem Ananiev and Alla Redko, June 2006     Articles Index This article explains how to use ...

  2. Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime

    Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime        周银辉 我的mac os 版本是10.9.2,  JDK配置得好好的,但打开eclipse时还是提示需 ...

  3. mac下需要安装旧 Java SE 6 才能打开程序解决办法

    今天我在mac系统下面安装myeclipse2014(myeclipse-pro-2014-GA-offline-installer-macosx.dmg)的时候,发现显示错误: 您需要安装旧 Jav ...

  4. ubuntu配置 Java SE 1.6

    今天编译android 4.0时提示如下错误:   You are attempting to build with the incorrect version of java. Your versi ...

  5. 《写给大忙人看的java se 8》笔记

    现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...

  6. Java SE 基础:注释

    Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...

  7. Java SE 基础:标识(zhì)符

    Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...

  8. Java SE 基础:常用关键字

    Java SE 基础:常用关键字 常用关键字表

  9. Java SE 简介 & 环境变量的配置

    Java SE 简介 & 环境变量的配置 一.Java 技术的三个方向 Java 技术分为三个方向 javaSE( Java Platform Standard Edition 标准版)用来开 ...

随机推荐

  1. Java 常用Set集合和常用Map集合

    目录 常用Set集合 Set集合的特点 HashSet 创建对象 常用方法 遍历 常用Map集合 Map集合的概述 HashMap 创建对象 常用方法 遍历 HashMap的key去重原理 常用Set ...

  2. 时空图神经网路:STGNNs

    STGNNs:SPATIAL–TEMPORAL GRAPH NEURAL NETWORKS 许多实际应用中的图在图结构和图输入方面都是动态的.STGNNs在捕获图的动态性方面占有重要地位. 这类方法的 ...

  3. 什么?让每一个开源项目更安全?啊?还有IDE工具?难道是它?

    背景 入编程界6年来,大大小小的安全漏洞是真滴听了不少,xxx通过日志入侵了,xxxx通过请求入侵了,等等等等. 近期fastJson又报安全漏洞,敢巧自己又"被"跳槽到了新公司, ...

  4. 使用APICloud开发app录音功能

    ​ mp3Recorder模块封装在iOS.Android下录音直接生成mp3,统一两个平台的录音生成文件,方便双平台之间的交互,减少录音完成后再转码的过程:同时提供分贝波形图显示UI:使用该模块前需 ...

  5. Webpack干货系列 | Webpack5 怎么处理字体图标、图片资源

    程序员优雅哥(youyacoder)简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要讲解在不需要引入额外的loader的条件下运用Webp ...

  6. 丽泽普及2022交流赛day15 社论

    前言 link 太牛逼了,补完我一定放代码 . orz 越看越牛逼 orz . 时间复杂度都是口胡,不要信 . 以下是目录 目录 目录 前言 A 题面 题解 代码 B 题面 题解 代码 C 题面 题解 ...

  7. HTML js 复习

    <a href="#top" target="_self">返回顶部</a> 返回页面顶部代码 打印js对象方法 function wr ...

  8. 学习nginx的一点记录

    一.nginx定义 Nginx是一款轻量级的.高性能的,具备HTTP.反向代理.负载均衡的web服务器,同时还提供IMAP/POP3/SMTP服务,其特点是占用内存少,并发能力强. 二.nginx基本 ...

  9. 技术分享 | Update更新慢、死锁等问题的排查思路分享

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 一.简介 在开始排错之前我们需要知道 Update 在 MySQL 中的生命周期 ...

  10. MultiJittered采样类定义和测试

    多重抖动在书上说的是水平和竖直方面随机交换. 类声明: #pragma once #ifndef __MULTIJITTERED_HEADER__ #define __MULTIJITTERED_HE ...