类,封装,包

简介: 类,封装,包

一级目录

1:下面代码的运行结果是()

public static void main(String[] args){
  String s;
  System.out.println("s="+s);
}

A.代码编程成功,并输出”s=”

B.代码编译成功,并输出”s=null”

C.由于String s没有初始化,代码不能编译通过。

D.代码编译成功,但捕获到NullPointException异常

本题中的代码不能编译通过,因为在Java当中局部变量必须先初始化,后使用。所以此处编译不能通过!

2:以下哪项说法是正确的?

A.public关键字只能修饰类名

B.public关键字只能修饰方法

C.public关键字只能修饰成员变量

D.以上说法都不对

public只是一个访问修饰限定符,可以修饰类名,接口,方法,成员变量等。所以ABC错,D正确。

3:以下代码在编译和运行过程中会出现什么情况

public class TestDemo{
  private int count;
  public static void main(String[] args) {
    TestDemo test=new TestDemo(88);
    System.out.println(test.count);
  }
   TestDemo(int a) {
     count=a;
  }
}

**观察代码当执行:

TestDemo test = new TestDemo(88);

的时候,会先执行构造方法,将88的值,赋值给count,所以最终输出的值是88.

4:在JAVA中,假设A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法和语句格式应该为()

A.this.A(x)

B.this(x)

C.super(x)

D. A(x)

this共有3种使用方式:

this.data 访问当前对象的实例成员变量

this.func() 访问当前对象的实例成员方法

this(参数列表) 访问当前对象的构造方法

此处在当前类当中,调用构造方法A(int a),使用this(x);的方式,所以选择B

5:如下代码的输出结果是什么?

public class Test { 
    public int aMethod(){
        static int i = 0;
        i++; 
        return i;
    } 
public static void main(String args[]){
    Test test = new Test(); 
    test.aMethod(); 
    int j = test.aMethod();
    System.out.println(j);
    } 
}

A.0

B.1

C.2

D.编译失败

在方法当中定义的变量是局部变量,而静态的变量属于类变量。随着类的加载而被创建,而局部变量是调用该方法的时候,才创建的。
所以,此时两种变量的性质是冲突的。Java当中不允许定义局部的静态变量

6:当你编译和运行下面的代码时,会出现下面选项中的哪种情况?

public class Pvf{
    static boolean Paddy;
    public static void main(String args[]){
        System.out.println(Paddy);
    }
}

A.编译时错误

B.编译通过并输出结果false

C.编译通过并输出结果true

D.编译通过并输出结果null

在Java当中,成员变量没有赋初值的时候,会有默认的初始值。基本类型是对应的0值。如:int是0,boolean是false,char类型是’\u0000’,引用类型是null,如String。

7:成员变量的调用:

public class Test{
  private float f=1.0f;
  int m=12;
  static int n=1;
  public static void main(String args[]){
    Test t=new Test();
  }
}

如下哪些在main函数中使用是正确的()

A.t.f = 3.0

B.this.n

C.Test.m

D.Test.n

**

A:f是float类型,3.0默认是double,所以此时不能赋值

B:n是静态的,需要通过类名访问,不能通过this访问,this代表当前对象的引用,但是静态的成员变量不属于this。

C:m是实例成员变量,需要通过对象来进行调用。

D:正确

故:答案选D**

8:下面哪一项不是 java 类访问控制关键字

A.public

B.this

C.private

D.protected

**Java中的访问修饰符有3个:private,public,protected,但是当定义一个成员变量的时候,没有写这3个任意一个访问修饰符的时候,此时的权限是默认权限。

**

public class Test {
    public int age;
    private String name;
    protected String sex;
    String weight;//默认权限
}

9:关于以下程序代码的说明正确的是()

public class HasStatic {// 1
  private static int x = 100;// 2
  public static void main(String args[]) {// 3
    HasStatic hsl = new HasStatic();// 4
    hsl.x++;// 5
    HasStatic hs2 = new HasStatic();// 6
    hs2.x++;// 7
    hsl = new HasStatic();// 8
    hsl.x++;// 9
    HasStatic.x--;// 10
    System.out.println(" x=" + x);// 11
  }
}

A.程序通过编译,输出结果为:x=102

B.程序通过编译,输出结果为:x=103

C.10行不能通过编译.因为x星私有静态变量

D.5行不能通过编译.因为引用了私有静态变量

1: 本题中的静态成员变量x,属于类变量,只有一份。所有对x的操作针对的都是同一份。

2: 静态成员变量的访问需要通过类名访问,这是正确的访问方式本题中虽然使用了对象引用访问,但是不会报错,我们不建议这样访问,但不是错误,所以,不会编译报错。

综合以上2点,得出结论:本题可以正常通过编译和运行,输出结果是102。

10:代码块执行顺序

public class Test{
    static int cnt = 6;
    static{
        cnt += 9;
    }
    public static void main(String[] args){
        System.out.println("cnt = " + cnt);
    }
    static{
        cnt /=3;
    };
}
本题考察的是代码块的执行顺序。带代码中存在代码块和构造方法的时候。执行顺序为:
1.静态代码块
2.实例代码块
3.调用的对应的构造方法
第2种情况:当存在相同类型的代码块和成员变量的时候,需要看定义顺序执行。
public class Test{
    static int cnt = 6;//1
    static{
        cnt += 9;//2
    }
    public static void main(String[] args){
        System.out.println("cnt = " + cnt);
    }
    static{
        cnt /=3;//3
    };
}
本题中先执行注释1处,再执行注释2处,此时结果变为了15,再执行注释3处,cnt = 5;

11:关于包的说法, 下列错误的是:( )

A.包是一组类的集合

B.包能防止类的名字冲突

C.import 语句能够导入一个指定的包

D.import static 能够导入一些静态方法

.import 语句不能导入一个指定的包

目录
相关文章
|
8天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
7天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
346 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
19天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1332 8
|
7天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
334 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
6天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。
|
18天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1422 87
|
6天前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
7天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
264 82
2025年阿里云域名备案流程(新手图文详细流程)