3.7学习心得

本文深入讲解了Java中的方法属性、参数传递机制、变量定义及作用域等基础知识,并介绍了封装、包的概念及其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天对Java中方法的属性,方法中参数传递的机制以及变量进行了深入学习,并对隐藏和封装,包的概念,引入的概念进行了初步的了解学习。

1.方法的所属性:属于类(static修饰)或者属于对象的。

2.在程序的设计是要注重:用户的输入;输入内容进行封装;调用业务逻辑方法;输出结果。

3.我们在Java中要留意方法需要关心的要素:方法属于谁;方法的参数;方法的返回值。

   方法定义的语法:

[修饰符] 返回值类型 方法名(形参列表) {
    方法体
}

4.方法中参数传递的机制:参数的传递都是 值传递 在调用方法的时候,参数会被创造出一个副本,原本的值是不会改变的

基本数据类型,也称为 值类型。

5.如果方法中传入的是基本数据类型,那么原变量的值是不会发生改变的,如果方法中传入的是引用数据类型(即类类型),那么传入方法中,如果对对象的相关属性进行了修改,那么原对象的相关属性也会发生改变

6.根据变量定义所在位置的不同,可以定义:

成员变量是在类中定义的变量,用 static 修饰的为类变量,非 static 修饰的为实例变量 (对象变量)

局部变量按照定义的位置分为,在方法内部定义的变量代码块中定义的变量,比如有循环体内部、判断体内部形式参数:在方法定义的参数列表中定义的变量。局部变量生命周期:从定义变量的位置开始,到定义位置所在花括号的结束位置结束。要注意一般在 for 循环中我们的初始化条件里面定义的变量,其生命周期在循环体内。

例如:

public static void main(String[] args) {
    System.out.println(i); // 有错误的

    int i = 0;

    if (i < 10) {
        int j = i / 2;
        System.out.println(j);
    }

    System.out.println(j); // 有错误的

    for (int k = 0; k <= 10; k++) {
        System.out.println(k);
    }

    System.out.println(k); // 有错误的
}

7.成员变量和局部变量的区别:

成员变量中是可以加入修饰符的,如 private、public、protected、static、final,在局部变量中是不可以加入修饰符的。

成员变量中的类变量是类被加载的时候初始化的程序关闭时销毁。

成员变量中的实例变量是对象被创建出来的时候初始化的,在对象没有引用的时候被销毁。

8.变量的使用规则:

如果需要一个变量来描述一个类或对象的固有信息,比如人的年龄、性别、姓名这类,会把这些变量定义为成员变量中的实例变量

如果一个变量只在方法体内或者代码块中有效,就没有必要定义为成员变量;

变量的命名:一般局部变量或者实例变量,使用驼峰的命名方式,但是首字母小写,如果是类变量,特别是常量,使用全部大写,两个单词之间用 _ 分隔。

9.Java中封装的目的就是把成员变量隐藏起来,暴露方法来提供成员的修改和访问。

这里我们需要用到private(即私有类型)修饰符。

例如:

public class Student {
   private String name;     //隐藏成员变量  
   private int age;
   private boolean sex;
   
   public Student(String name, int age, boolean sex) {
   	super();
   	this.name = name;          
   	this.age = age;
   	this.sex = sex;
   }

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

   public String getName() {
   	return this.name + (this.sex ? "先生" : "女士");    //getter
   }
}

  • get + 首字母大写的属性名() :get 方法一般都是具有和属性数据类型一致的返回值,并且是没有形参的。
  • set + 首字母大写的属性名(参数):set 方法一般都是具有和属性数据类型一致的方法参数,返回值一般是 void。

10.

类定义包的语法:

// 在类文件的第一行
package com.ntqingniao.j96.oop;

在不同的包中,是可以定义相同类名的类的。因为一个类的唯一性是包含包名的,比如 com.ntqingniao.j96.oop.Demo1 叫做类的全名。

在实际的企业开发中,是不允许出现没有包的类。

11.

访问控制修饰符:

访问控制修饰符能修饰的对象包括:成员变量方法构造器

访问控制修饰符,就是控制修饰的对象可以在什么样的范围(包)内被访问。

 privatedefaultprotectedpublic
同一个类
同一个包 
子类  
全局范围   
  • private:只能在当前类中被访问,一般用于对成员变量的修饰;
  • default:没有定义修饰符就是 default;
  • protected:可以在子类和本包中被访问,外部包不能被访问,在有一定业务意义的包中,可以定义类中成员变量是protected;
  • public:一般定义在方法或者一些常量中,用于外部接口的访问。
  • 在实际的开发中,大部分的场景使用 private 定义属性public 定义方法。

7.

JDK 中比较重要的包

  1. java.lang:包含了 Java 语言的核心类库,如 String、System、Math等等,使用该包下的类是不需要显式引入;
  2. java.util:包含了大量的工具类,如 Date、集合框架;
  3. java.net:Java 网络编程的类和接口包;
  4. java.io:Java 输入输出,如流等方面编程的包;
  5. java.text:格式化方面的类;
  6. java.sql:数据库编程方面的类和接口包;
  7. java.awt:图形用户界面方面的类和接口包。
### 关于 Claude 3.7 API 的文档和使用教程 Claude 3.7 是由 Anthropic 开发的一系列大模型之一,其主要应用场景包括自然语言处理、代码生成以及多模态任务。以下是有关如何获取和学习 Claude 3.7 API 文档及使用教程的信息: #### 获取官方文档 Anthropic 提供了详细的官方文档来指导开发者如何集成和调用 Claude 3.7 API。这些资源可以通过以下两种途径获得: 1. **直接访问 OpenAI API**:尽管 Claude 并不属于 OpenAI 家族,但某些第三方服务可能会提供类似的接口封装[^1]。因此,在探索过程中需要注意区分不同平台的服务条款。 2. **通过 Amazon Bedrock 集成 SDK**:如果计划利用 AWS 生态系统,则可以查阅亚马逊云科技针对 Claude 3.7 所发布的具体指南[^2]。 #### 学习路径建议 为了更好地掌握该技术栈,可以从以下几个方面入手: - **基础概念熟悉化** 对于初次接触此类工具的新手来说,先理解基本的工作原理非常重要。例如,什么是 LLMs?它们是如何训练出来的?这些问题的答案能够帮助构建坚实的知识框架。 - **实践案例演练** 结合实际项目需求尝试编写简单的脚本程序。下面给出了一段 Python 示例代码展示怎样连接到远程服务器并发送请求给指定端点地址: ```python import boto3 bedrock_runtime = boto3.client(&#39;bedrock-runtime&#39;, region_name=&#39;us-east-1&#39;) body = {"prompt": "Write a short story about an adventurous cat.", "max_tokens_to_sample": 60} model_id = &#39;anthropic.claude-v3.7&#39; accept = &#39;*/*&#39; content_type = &#39;application/json&#39; response = bedrock_runtime.invoke_model( body=json.dumps(body), modelId=model_id, accept=accept, contentType=content_type) print(response[&#39;body&#39;].read()) ``` 上述片段展示了如何借助 Boto3 库与 Amazon Bedrock 进行交互。 - **社区交流参与** 加入活跃的技术讨论群组或者论坛也是快速成长的有效方法之一。在这里不仅可以提问解惑还能分享经验心得。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值