06_可变参数_递归_类和对象_封装

韩顺平零基础Java(超详细笔记梳理) 07——面向对象编程基础(下):方法重载、可变参数、作用域、构造器、this关键字 受篇幅限制,面向对象的笔记我分成了上下部分,本篇文章是韩顺平老师课程P227-P261(第七章:面向对象编程基础)下半部分重点内容的详细总结,内容为:方法重载(overload);可变参数;作用域;构造器;this关键字的使用 阅读详情

第一章.可变参数

1.需求:定义一个方法,实现若干个整数相加
  参数:类型确定了,但是个数不确定

1介绍和基本使用

1.格式:
  数据类型...变量名
2.本质:数组
3.注意:
  参数位置只能有一个可变参数,而且只能放到最后
public class Demo01Var {
    public static void main(String[] args) {
        add(1, 2, 3, 4, 5);//new int[]{1,2,3,4,5}
    }

    public static void add(int data,int... arr) {//int[] arr
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }

        System.out.println(sum);
    }
}

2.练习

2.1.字符串拼接

需求一:返回n个字符串拼接结果,如果没有传入字符串,那么返回空字符串""

public class Demo02Var {
    public static void main(String[] args) {
        String result = concat("张三", "李四", "王五", "赵六", "田七", "朱八");
        System.out.println(result);
    }
    public static String concat(String...s){
        //定义一个空字符串
        String str = "";
        for (int i = 0; i < s.length; i++) {
            str+=s[i];
        }
        return str;
    }
}

2.2.字符串拼接分隔符

n个字符串进行拼接,每一个字符串之间使用某字符进行分隔,如果没有传入字符串,那么返回空字符串""
concat("-","张三","李四","王五")  -> 返回的是 -> 张三-李四-王五
public class Demo03Var {
    public static void main(String[] args) {
        String result = concat("-", "张三", "李四", "王五", "赵六");
        System.out.println(result);
    }
    public static String concat(String sep,String...s){
        //定义一个空字符串
        String str = "";
        for (int i = 0; i < s.length; i++) {
            if (i == s.length-1){
                str+=s[i];
            }else{
                str+=s[i]+sep;
            }
        }
        return str;
    }
}

第二章.递归

1.概述:方法内部自己调用自己
2.表现形式:
  a.方法自己调用自己-> 最常见
  b.方法之间互相调用
3.注意:
  a.递归需要有出口,否则会出现"栈内存溢出"
  b.即使有出口,也不要递归太多次    
public class Demo01DiGui {
    public static void main(String[] args) {
        method();
    }
    public static void method(){
        method();
    }
}

1.用递归输出3到1

public class Demo02DiGui {
    public static void main(String[] args) {
        method(3);
    }
    public static void method(int n){
        if (n==1){
            System.out.println(n);
            return;//结束方法
        }
        System.out.println(n);
        n--;
        method(n);
    }
}

2.求n!

1.需求:求3的阶乘
  3*2*1
2.分析:
  a.定义一个方法,代表阶乘,参数代表多少的阶乘 -> method(n)
  b.找规律:
    method(3)  -> 3*method(2)
    method(2)  -> 2*method(1)
        
    method(n)  -> n*method(n-1)    
     
public class Demo03DiGui {
    public static void main(String[] args) {
        int result = method(3);
        System.out.println(result);
    }

    private static int method(int n) {
        if (n==1){
            return 1;
        }
        return n*method(n-1);
    }
}

示例三:计算斐波那契数列(Fibonacci)的第n个值

不死神兔
故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡
问:一对刚出生的兔子,一年内繁殖成多少对兔子?  144

规律:一个数等于前两个数之和,比如: 1 1 2 3 5 8 13 21 34 55…

分析:
  1.定义一个方法,代表生兔子的对数,参数为月份
  2.找规律
    method(1)   1
    method(2)   1
    method(3)   2   method(1)+method(2)
    method(4)   3   method(2)+method(3)
    method(5)   5   method(3)+method(4)
      
    method(n) =  method(n-1)+method(n-2)   
public class Demo04DiGui {
    public static void main(String[] args) {
        int result = method(12);
        System.out.println(result);
    }

    private static int method(int n) {
        if (n==1||n==2){
            return 1;
        }
        return method(n-1)+method(n-2);
    }
}

第三章.类和对象

java核心编程思想:面向对象
  面向对象:自己的事情找对象去帮我们做   -> 编程简单
  面向过程:C语言的编程思想 -> 讲究的是自己的事情自己做

1.面向对象的介绍

1.什么是面向对象思想:java的核心编程思想
2.为啥使用面向对象思想:为了少写代码,很多功能别人写好了,我们只需要直接调用即可,至于人家怎么实现的,我们不需要关心
3.什么时候使用面向对象思想:
  调用别的类中的成员,就要使用面向对象思想编程
4.怎么使用面向对象思想编程:
  a.new对象,new完去点  -> 比如 new Scanner   new Random
  b.特殊:不用new对象,直接类名点   -> 适用于被点的成员上带static关键字 -> 比如Arrays System类
public class Demo01Object {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        /*
           next()方法就是Scanner这个对象实现好的功能
           我们直接new完调用,就可以实现键盘录入字符串
           至于人家怎么实现的,跟我没有关系
           只需要new,new完点
         */
        String data = sc.next();
        System.out.println(data);

        System.out.println("====================");
        int[] arr = {1,2,3,4,5};
        /*
           Arrays就是咱们找来的对象
           toString方法就是这个对象中实现好的功能
           我们直接调用,就可以实现数组的打印
           至于人家怎么实现的,跟我没有关系
         */
        System.out.println(Arrays.toString(arr));
    }
}

2.类和对象

2.1类(实体类)_class

1.概述:一类事物的抽象表示形式
2.类的分类:
  a.测试类 -> 带main方法的类,用于跑代码的,测试代码
  b.逻辑类 -> 写业务逻辑的
  c.实体类 -> 用于描述世间万物的分类
1.实体类包含的成员:
  属性(这个分类有啥)  -> 成员变量
    a.定义位置:类中方法外
    b.作用范围:整个这个类都能使用
    c.定义格式: 数据类型 变量名
    d.成员变量有默认值 
      整数  0
      小数  0.0
      字符 '\u0000'
      布尔 false
      引用  null
 
  行为(这个分类能干啥) -> 成员方法
      将之前定义的方法中的static干掉
public class Person {
    //属性
    String name;//null
    int age;//0
    
    //行为
    public void eat(){
        System.out.println("人要吃饭");
    }
    public  void drink(){
        System.out.println("人要喝水");
    }
    public  void la(){
        System.out.println("人要拉屎");
    }
    public  void sa(){
        System.out.println("人要撒尿");
    }
}

描述动物类

public class Animal { 
    //属性
    String brand;
    int age;
    
    //行为
    public String run(){
        return "动物在跑";
    }
    
    public String eat(){
        return "动物在吃";
    }
}

描述手机类

public class Phone {
   //属性
   String brand;
   double price;
   String color;
   
   //行为
   public void call(String name){
       System.out.println("给"+name+"打电话");
   }
   
   public String message(String name){
       return "给"+name+"发短信";
   }
}

2.2.对象

1.概述:一类事物的具体体现
2.使用:
  a.导包:import 包名.类名
    如果两个类在同一个包下,使用对方的成员不需要导包
    如果两个类不在同一个包下,使用对方的成员需要导包
    特殊包:java.lang包  -> 使用lang包下的类不需要导包  
  b.创建对象:想使用哪个类中的成员,就new哪个类的对象
    类名 对象名 = new 类名()
  c.调用成员:想使用哪个类中的成员,就用哪个类的对象去点哪个成员
    对象名.成员名
public class Phone {
    //属性
    String brand;
    double price;
    String color;

    //行为
    public void call(String name){
        System.out.println("给"+name+"打电话");
    }

    public String message(String name){
        return "给"+name+"发短信";
    }
}

public class Demo02Object {
    public static void main(String[] args) {
        //创建对象 类名 对象名 = new 类名()
        Phone phone1 = new Phone();
        phone1.brand = "华为";
        phone1.price = 8888;
        phone1.color = "黑色";
        System.out.println(phone1.brand);
        System.out.println(phone1.price);
        System.out.println(phone1.color);

        phone1.call("金莲");

        String result = phone1.message("大郎");
        System.out.println(result);
    }
}

3.匿名对象的使用

int i = 10
a.等号左边的int:数据类型
b.i:变量名
c.等号右边的:真实的数据
    
Person p = new Person()
a.等号左边的Person:数据类型,相当于int
b.p:变量名
c.等号右边的new Person():真实的数据,是一个真实的对象
  
1.匿名对象的概述:new对象的时候没有等号左边的部分,相当于对象没有名字,只有new 类名()
  a.Person p = new Person()  有名的对象
  b.new Person() 匿名的对象
2.注意:
  a.如果只让一个方法简单执行,就可以使用匿名对象
  b.但是如果涉及到赋值了,千万不要使用,因为匿名对象都是一次性的
public class Person {
    //属性
    String name;//null
    int age;//0

    //行为
    public  void eat(){
        System.out.println("人要吃饭");
    }
    public  void drink(){
        System.out.println("人要喝水");
    }
    public  void la(){
        System.out.println("人要拉屎");
    }
    public  void sa(){
        System.out.println("人要撒尿");
    }
}

public class Demo03Object {
    public static void main(String[] args) {
        //有名的对象
        Person p = new Person();
        p.name = "张三";
        System.out.println(p.name);
        p.eat();

        System.out.println("=================");
        //匿名对象
        new Person().eat();

        new Person().name = "李四";
        System.out.println(new Person().name);//null
    }
}

4.一个对象的内存图

public class Phone {
    String brand;
    int price;
    public void call(){
        System.out.println("打电话");
    }
}
public class{
    public static void main(String[] args) {
        Phone phone = new Phone();
        System.out.println(phone);//地址值
        System.out.println(phone.brand);// null
        System.out.println(phone.price);// 0
        phone.brand = "华为";
        phone.price = 8888;
        System.out.println(phone.brand);// 华为
        System.out.println(phone.price);// 8888
        phone.call();
    }
}

5.两个对象的内存图

phone1和phone2是两个不同的对象,在堆内存中开辟了两个不同的空间,操作一个空间中的数据不会影响另外一个空间中的数据

6.两个对象指向同一片空间内存图

phone2不是new出来的,而是phone1直接给的,所以此时会将phone1的地址值给phone2,此时两个对象指向了同一片空间,所以修改一个对象的数据会影响到另外一个对象

第四章.成员变量和局部变量区别

1.定义位置不同
  a.成员变量:类中方法外
  b.局部变量:在方法内,或者参数位置
2.作用范围不同:
  a.成员变量:作用于整个类
  b.局部变量:只作用于自己所在的方法内部
3.初始化值不同:
  a.成员变量:有默认值的
  b.局部变量:没有默认值,必须赋值之后才能使用
4.内存位置不同:
  a.成员变量:在堆中
  b.局部变量:在栈中    
5.生命周期不同:
  a.成员变量:随着对象的创建而创建,随着对象的消失而消失
  b.局部变量:随着方法的调用而创建,随着方法调用完毕而消失    

第五章.封装

1.面向对象编程为了:少写代码
2.面向对象有三大特征:封装    继承     多态
3.面向对象思想和封装,继承,多态的关系:
  面向对象思想编程是为了少写代码,而封装,继承,多态是少写代码的具体方式

1.封装的介绍以及使用

1.封装的概述:
  将细节隐藏起来(为了不让外界直接使用),对外提供一套公共的接口(让外界通过这个公共的接口间接使用封装起来的细节),这种思想就是封装
      
2.封装的表现形式:
  a.表现形式1:将一段代码放到一个方法中,方法体就是隐藏的细节,方法名就是对外提供的接口,我们直接调用方法名,内部的方法体就执行了,至于这个方法底层怎么写的,我们不需要考虑,我们直接调用方法名就行了
  b.表现形式2:代表性关键字:private(私有权限)
      
3.private关键字:
  a.概述:代表的是私有权限
  b.作用:被private修饰的成员(成员变量,成员方法),只能在本类中使用,别的类不能调用
  c.被private修饰之后,需要提供公共的接口:
    get/set方法
        
    setxxx:为属性赋值
    getxxx:获取属性值
public class Person {
    //隐藏细节
    private String name;
    private int age;

    /**
     * 为name提供公共的接口
     */
    public void setName(String xingMing){
        name = xingMing;
    }
    public String getName(){
        return name;
    }

    /**
     * 为age提供公共的接口
     */
    public void setAge(int nianLing){
        age = nianLing;
    }
    public int getAge(){
        return age;
    }
}
public class Test01 {
    public static void main(String[] args) {
        Person person = new Person();
        //person.name = "张三";
        //person.age = 18;
        //System.out.println(person.name+"..."+person.age);
        person.setName("张三");
        person.setAge(18);
        System.out.println(person.getName()+"..."+person.getAge());
    }
}

一个类中如果有私有属性,get/set方法基本就是配套提供的

2.this的介绍

1.注意:
  如果成员变量和局部变量重名,遵循"就近原则"访问,先访问局部变量
2.this:
  a.概述:代表的是当前对象(哪个对象调用的this所在的方法,this就代表哪个对象)
  b.作用:区分重名的成员变量和局部变量 -> this.后面的一定是成员的    
public class Person {
    String name;
    public void speak(String name){
        System.out.println(this+"...");
        System.out.println(this.name+"您好,我是"+name);
    }
}
public class Test01 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person+"......");
        person.name = "沉香";
        person.speak("刘彦昌");

        System.out.println("================");
        Person person2 = new Person();
        System.out.println(person2+"......");
        person2.name = "哪吒";
        person2.speak("李靖");
    }
}

public class Person {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}
public class Test01 {
    public static void main(String[] args) {
        Person p1 = new Person();
        p1.setName("张三");
        p1.setAge(18);
        System.out.println(p1.getName()+"..."+p1.getAge());

        System.out.println("=============================");

        Person p2 = new Person();
        p2.setName("李四");
        p2.setAge(19);
        System.out.println(p2.getName()+"..."+p2.getAge());
    }
}

问题:属性没有被私有化的时候能不能提供get/set方法呢

​ 其实是可以的,但是没有意义

3.构造方法_构造器

 1.特点:
  a.方法名和类名一致
  b.构造方法没有返回值,连void都没有
  c.我们一new就相当于调用了构造方法

3.1空参构造

1.格式:
  pubilc 类名(){
      
  }

2.作用:
  new对象,初始化对象中的属性值
3.特点:
  每个类中有会默认有一个无参构造,即使不写,jvm会自动提供一个
public class Person {
    private String name;
    private int age;

    /**
     * 无参构造
     */
    public Person(){
        System.out.println("我是无参构造");
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}

public class Test01 {
    public static void main(String[] args) {
        Person p1 = new Person();
    }
}

3.2有参构造

1.格式:
  public 类名(形参){
      为属性赋值
  }
2.作用:
  new对象的同时为属性赋值
      
3.特点:
  如果写了有参构造,jvm将不再提供无参构造,所以建议都写上
public class Person {
    private String name;
    private int age;

    /**
     * 无参构造
     */
    public Person(){
    }

    /**
     * 有参构造
     */
    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}
public class Test01 {
    public static void main(String[] args) {
        Person p1 = new Person();

        System.out.println("===================");

        //利用有参构造创建对象
        Person p2 = new Person("张三", 18);
        System.out.println(p2.getName()+"..."+p2.getAge());
    }
}

4.标准JavaBean

JavaBean 是 Java语言编写类的一种标准规范。符合JavaBean` 的类,要求:

(1)类必须是具体的(非抽象 abstract)和公共的,public class 类名

(2)并且具有无参数的构造方法

(3)成员变量私有化,并提供用来操作成员变量的set 和get 方法。

com.atguigu.controller -> 存放和页面打交道的类

com.atguigu.service -> 存放业务类

com.atguigu.dao -> 存放和数据库打交道的类

com.atguigu.pojo/entity -> 存放的都是javabean类

com.atguigu.utils -> 存放的都是工具类

编写符合JavaBean 规范的类,以学生类为例,标准代码如下:

public class Student {
    private int id;
    private String name;

    public Student() {
    }

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

【深度学习新浪潮】气候预测模型的研发进展一览(2025年版) 模型类型核心优势适用场景不足ARIMA(统计模型)简单高效、可解释性强短期单变量预测非线性、长时依赖建模差随机森林(机器学习)多特征融合、抗噪声中短期多因素预测空间相关性、时序趋势捕捉弱LSTM(深度学习)长时依赖建模、端到端中长期时序预测物理一致性差、数据需求量大物理知情AI物理规律约束、高可靠性极端天气、长期气候变化模型复杂、计算成本高。 阅读详情

相关推荐

《点云处理算法》——GROR配准

GROR点云配准

阁楼 1315

java封装方法传变量_Javaday06(封装、值传递、可变参数、递归、构造方法)

一、封装一个类该暴露什么,不该暴露什么,由类的设计者根据需求设计决定的。private属性用户不能直接访问,如果设计者提供相应的接口方法,那么用户可以通过该接口方法访问。封装使得对代码的修改更加容易,将代码分成了一个个相对独立的单元,对代码的访问控制更加严格,日后对代码的修改自由度提高。能很好的使用别人的类,而不必关心其内部逻辑是如何实现的,让软件协同开发的难度大大降低。对象的状态并不能完全描述一...

weixin_32394375的博客 418

从标记基因到功能分析:手把手教你人工注释单细胞亚群的完整流程

本文详细介绍了人工注释单细胞亚群的完整流程,从标记基因筛选到功能分析验证,特别针对肿瘤微环境、发育轨迹等复杂场景提供解决方案。通过差异表达分析、多维数据整合和实验验证,帮助研究者准确识别细胞类型,提升单细胞转录组研究的生物学解读深度。

jenkins8butler的博客 244

06.面向对象、类、对象、方法、封装性、构造器

其他关键字的使用:this、super、package、import、static、final、interface、abstract等。堆:存放new出来的结构(如数组实体、对象):①数组,数组的元素存在堆中 ②对象的成员变量存在堆中。2. 创建类的对象。方法重载的要求(两同一不同,类、方法名相同,方法的形参列表不同)给相关的类、方法设置权限,把该隐藏的隐藏起来,该暴露的暴露出去。- Java类及类的成员:属性、方法、构造器、代码块、内部类。类:具有相同特征事务的抽象描述,是“抽象的”、概念上的定义。

qq_43457850的博客 86

基于STM32F407标准库与SimpleFOC实现无刷电机2804位置闭环控制的实战解析

本文详细解析了基于STM32F407标准库与SimpleFOC算法实现2804无刷电机位置闭环控制的实战过程。通过硬件选型、速度闭环调试到位置环PID参数整定,提供了完整的工程实现方案和抗饱和策略,帮助开发者掌握高精度电机控制技术。

oauth7security的博客 917

从IMC层到应力点:手把手教你用SEM/EDS给BGA焊点做一次‘体检’

本文详细介绍了如何使用SEM/EDS技术对BGA焊点进行全面失效分析,从样品制备到SEM观察、EDS分析,再到综合诊断,手把手教你识别焊点的微观特征和成分异常。文章特别强调了IMC层分析在BGA焊接失效诊断中的关键作用,并提供了实用的实验室技巧和常见失效模式对照表,帮助工程师快速定位问题根源。

weixin_42685438的博客 384

day06_类与对象

类与对象

weixin_39535978的博客 445

Dify工作流教程|以抓取网页并更新知识库为例详细讲解工作流编排过程(附DSL文件)

{"name": "{新建的title变量}","text": "新建的content变量","indexing_technique": "high_quality","process_rule": {"mode": "automatic"}}有没有很痛苦,明明添加书签的网页,当你想阅读的时候,总是找不到或者好不容易找到了,发现网页404了。如果有个小工具,直接能把你输入的链接内容抓取下来,并且加入到你的知识库中,你说他香不香。无法获取授权的,也可以使用网页抓取工具,这个是免费的,抓取效果也可以。

同名公众号:dify实验室 1万+

06、Java 基础硬核复习:面向对象编程(基础)的核心逻辑与面试考点

本文系统梳理了Java面向对象编程(OOP)的基础核心知识与高频面试考点。主要内容包括:面向对象思想与类对象概念、类成员与实例化过程、方法定义与调用机制、对象数组与可变参数使用、递归方法与权限修饰符应用、构造器特性与JavaBean规范等。重点解析了类与对象的内存模型、方法值传递机制、对象数组初始化陷阱等常见面试问题,并强调了封装、继承、多态三大特性在实际开发中的应用。文章最后指出,深入理解这些基础概念是掌握更高级OOP特性的关键,也是应对技术面试的重要准备。

m0_60277481的博客 539

LK32T102 单片机 操作GPIO实现流水灯(1)

前言: LK32T10232(32位)单片机是一款专为电机控制器和数字电源开发的高性能 MCU。采Cortex-M0 内核,最高工作频率可达 72Mhz,ADC 采样速率 达 1Msps。同时具备协处理器单元可满足各种乘法、除法、移位以及各种 复杂函数运算。 LK32T102(32位)支持单电源供电,且内嵌高精度高速及低速振荡器,以及具备 多种低功耗工作模式。同时,集成了多路增强型 PWM,多通道模拟比较 器和高速运算放大器,可满足多种电机及功率控制应用,并简化系统成本。...

qq_58676187的博客 3189

【Settings随记:二】一级菜单,二级菜单的添加与隐藏,添加辅助功能

首先会去调用父类的onCreatePreferences(Bundle savedInstanceState, String rootKey)方法,然后调用addPreferencesFromResource(R.xml.assistant_function)方法(这个方法是父类的)加载二级菜单的xml配置文件,实现创建二级菜单,这个配置文件路径在res/xml/assistant_function.xml。controller:该item的控制器,控制它的内容展示,是否可用,也可以控制它的点击事件等。

镇元子的博客 1595

八 【java基础】面向对象(上)

01 面向过程与面向对象 02 类与对象 2.1 Java 类及类的成员 2.2 对象的创建与使用 2.3 对象的创建和使用:内存解析 03 类的成员之一:属性(filed) 04 类的成员之二:方法 4.2 对象数组的内存解析 4.3 匿名对象的使用 4.5 自定义数组的工具类 4.6 方法的重载 4.7 可变参数的形参 4.8 方法参数的值传递机制 4.8.1 基本数据类型的参数传递 4.8.2 引用数据类型的值传递

DempseyLee的博客 354

第一节:从Chat_Bot 到 AI_Agent——一个范式转换

本文系统剖析了工业级AI代理系统ClaudeCode的设计原理与工程实践。通过对比ChatBot与Agent的三个本质差异:自主循环决策vs单轮应答、环境交互vs纯文本I/O、持久状态管理vs无状态对话,揭示了构建生产级Agent系统的关键挑战。文章详细解析了ClaudeCode的五层架构设计、1800+文件组成的运行时系统,包括工具调度、权限管理、状态持久化等核心机制,并阐述了从简单API调用到完整Agent系统的演进路径。

2201_75869398的博客 68

WY的Java学习笔记(2) 面向对象

自用

m0_64735594的博客 125

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java基础——面向对象编程基础(类及类的成员)

①Java类及类的成员:属性、方法、构造器、代码块、内部类②面向对象特征:封装、继承、多态③一些关键字的使用:this、super、package、import、static、final、interface、abstract等将一个类A定义在另一个类B里面,里面的那个类A就称为内部类。当一个事物A的内部,还有一个部分需要一个完整的结构B进行描述,而这个内部的完整的结构B又只为外部事物A提供服务,不在其他地方单独使用,那么整个内部的完整结构B最好使用内部类。

Yc317900的博客 1281

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java基础第六天-面向对象编程(初级)

类就是数据类型,对象就是一个具体的实例。类拥有属性和行为。对象在内存中的存在形式:字符串是指向地址保存,数字直接在堆里保存。属性/成员变量:成员变量=属性=field;属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。(对象的属性默认值遵守数组规则)类与对象的内存分配机制:在把p1赋给p2的时候也是属于引用拷贝,复制的是地址。

2402_82490949的博客 2459

第18 章探讨 C++新标准.可变参数模板,模板和函数参数包,展开参数包

第18 章探讨 C++新标准.可变参数模板,模板和函数参数包,展开参数包。

zhyjhacker的博客 1044

JavaSE进阶05:包装类、递归、数组的高级操作、异常

系列文章目录 day01:Java概述和基础语法 文章目录系列文章目录1.包装类1.1 基本类型包装类(记忆)1.2 Integer类(应用)1.3 自动拆箱和自动装箱(理解)1.4 int和String类型的相互转换(记忆)1.5 字符串数据排序案例(应用)2.递归2.1 递归【应用】2.2 递归求阶乘【应用】3.数组的高级操作3.1 二分查找 (理解)3.2 冒泡排序 (理解)3.3 Arrays (应用)4.异常4.1 异常(记忆)4.2 编译时异常和运行时异常的区别(记忆)4.3 JVM默认处理异

XXXZhy丶Blog 948

Java 基础 整个基础班 day06 -- day10 完整学习知识(代码+练习+打印结果)跟着手把手敲一遍就会

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。

weixin_38716347的博客 1000

Java基础-面向对象(上)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 java基础-面向对象(上)01、类和对象一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 01、类和对象 1.类和对象介绍: /* * 一、设计类、其实就是设计类的成员 * Field = 属性 = 成员变量 = 域、字段 * Method = (成员)方法 = 函数 * * 创建类 = 类的实例化 = 实例化类 * * 二.类和对象的使用(面向对象思想落地的实现) * 1.创建类,设计类的成员 *

weixin_43342445的博客 146

Java 学习 Day06(1)

Java 学习 Day06 一、理解“万事万物皆对象” 在java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构 (1)Scanner,String等 (2)文件:File (3)网络资源:URL 涉及到java语言与前端Html、后端的数据库交互时,前后端的结构在java层面交互时,都体现为类、对象 二、内存解析的说明 引用类型的变量,只可能存储两类值:null 或 地址值(含变量的类型) 三、匿名对象的使用 理解:我们创建的对象,没有显示的赋给一个变量名。即为匿名

weixin_47152812的博客 263

JAVA基础七

JAVA入门基础七

Small_Universe的博客 309

Java面向对象

Java面向对象 Java核心思想就是OOP 目录 Java面向对象 初识面向对象 1、面向过程&面向对象 2、什么事面向对象 方法回顾和加深 对象的创建分析 1、类与对象的关系 2、创建初始化对象 3、构造器 4、创建对象内存分析 5、小结 面向对象三大特征 1、封装 2、继承 3、多态 4、static 抽象类和接口 1、抽象类 2、接口 内部类及OOP实战 1、内部类 初识面向对象 1、面向过程&面向对象 面向过程思想

m0_52979864的博客 245

Day 3 狂神说Java基础笔记(方法01-06,数组01-09,面向对象01-14)

一、方法 01-方法 一个方法一个功能,main()函数保持整洁 02-定义与调用 Java只有值传递 作业:值传递与引用传递区别 ?调用的两种方法 03-方法的重载 方法名称相同,形参不同(个数、类型、顺序); 返回值可以不同。 04-命令行传参 args[ ] javac 05-可变参数 JDK 1.5后可用 一个方法中只能指定一个可变参数,且必须是最后一个参数 int... i 06-递归 边界条件,前阶段,返回阶段 Java使用栈机制 占用内存较高 二、数组 01-概述 02-声明与创建 数组变量属

weixin_44436378的博客 378

第06章_函数

《街霸》游戏中,每次人物出拳、出脚或跳跃等动作都需要编写50-80行的代码,在每次出拳、出脚或跳跃的地方都需要这50-80行代码,这样程序会变得,可读性也非常差。为了解决代码重复编写的问题,可以将出拳、出脚或跳跃的出来放在一个{}中,并为这段代码起个名字,这样在每次的出拳、出脚或跳跃的地方通过这个名字来调用这个{}的代码就可以了。将特定功能的代码封装为函数的好处:。一个C源程序可以由一个或多个源文件构成(C文件扩展名是“.c”),一个源文件是一个编译单位。一个源文件可以由若干个函数构成,函数之间可以相互调用

m0_67446994的博客 1077

java基础-chapter06(方法)

11.方法定义时的参数称为形式参数(形参),方法调用时传入的参数称为实际参数(实参),实参和形参的类型要一致或兼容、个数、顺序必须一致。4.当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。5.一个方法最多有一个返回值(返回多个结果可以返回数组),返回类型可以为任意类型,包括基本数据类型和引用数据类型(数组,对象...)8.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显式地定义一下。

weixin_53891720的博客 1444

07面向对象编程基础01

java基础

m0_46204947的博客 171
上一篇: 05.数组工具类_二维数组_方法的使用
下一篇: 07_static_JavaBean_继承_super/this
ChoSeitaku
博客等级 码龄5年 3452粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值