`

java简介以及迅速了解java(十一)

阅读更多

Java封装类
Java为每一个简单数据类型提供了一个封装类,每个简单数据类型可以封装成对象类型。
除int(Integer)和char(Character),其余类型首字母大写即成封装类类型名。double (Double),
float(Float),long(Long), short(Short),byte(Byte),boolean(Boolean)
转换字符的方式:
int I=10;
String s=I+"";
String s1=String.valueOf(i);
Int I=10;
Interger I_class=new integer(I);
封装类.字符串.基本类型
Interger--------------------(Double(x.toString))--------------->Double
String ---------------------(Integer.valueOf() )---------------->Integer
Integer---------------------(x.toString() )-------------------->String
int-------------------------(100+””)------------------------->String
String----------------------(Integer.parseInt() )--------------->int
Integer---------------------(Integer.intValue() )--------------->int
学会查看java的帮助文档。先要关注使用方法的返回值类型,也就是要获得内容的类型,然后看方法名,JDK中的方法名基本上是见名知义,参数表,看需要什么才可以获得的需要的内容,也要看自己能够提供什么作为参数。
注意:“==”在任何时候都是比较地址,这种比较永远不会被覆盖。
程序员自己编写的类和JDK类是一种合作关系。(因为多态的存在,可能存在我们调用JDK类的情况,也可能存在JDK自动调用我们的类的情况。)
注意:类型转换中Double\Interger\String之间的转换最多。
(注:所有使用内部类的地方都可以不用内部类,但使用内部类可以使程序更加的简洁,便于命名规范和划分
层次结构)。

内部类
内部类是指在一个外部类的内部再定义一个类。
*内部类可为静态,可用protected和private修饰。(而外部类不可以:顶级类只能使用public和default)。
*JAVA文件中没有publie class 可以类名和文件不同名
内部类的分类
成员内部类、
局部内部类、
静态内部类、
匿名内部类(图形是要用到,必须掌握)

成员内部类
四个访问权限修饰符都可以修饰成员内部类。
内部类和外部类在编译时是不同的两个类,内部类对外部类没有任何依赖。
内部类是一种编译时语法,在编译时生成各自的字节码文件,内部类和外部类没有关系。
内部类中可以访问外部类的私有成员。
内部类是作为外部类的一个成员存在,与外部类的属性、方法并列。
内部类和外部类的实例变量可以共存。
在内部类中访问实例变量:this.属性
在内部类访问外部类的实例变量:外部类名.this.属性。
在外部类的外部访问内部类,使用out.inner.
成员内部类的特点:

1.内部类作为外部类的成员,可以访问外部类的私有成员或属性。(即使将外部类声明为private,但是对于处于其内部的内部类还是可见的。)
2.用内部类定义在外部类中的不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。
注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。
对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。
3.成员内部类不能含有静态成员。
建立内部类对象时应注意:
在外部类的内部可以直接使用inner s=new inner();(因为外部类知道inner是哪个类,所以可以生成对象。)
而在外部类的外部,要生成(new)一个内部类对象,需要首先建立一个外部类对象(外部类可用),然后在生成一个内部
类对象。内部类的类名是外部类类名.内部类类名。
例:

public class Test{
public static void main(String[] args){
Outer o=new Outer();
Outer.Inner in=o.new Inner();
Outer.Inner in=(new Outer).new Inner();
}
}
class Outer{
private int a
class Inner{
private int b;
public Inner(){
this.b=Outer.this.a
}
}
……
}

 

静态内部类
(注意:前三种内部类与变量类似,所以可以对照参考变量)
静态内部类定义在类中,任何方法外,用static class定义。
静态内部类只能访问外部类的静态成员。
静态内部类和成员内部类的区别
创建(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。
静态内部类的对象可以直接生成:
Outer.Inner in=new Outer.Inner();
而不需要通过生成外部类对象来生成。静态内部类成为了一个和外部类平等的类。静态内部类不可定义为private。
例:

public class Test{
public static void main(String[] args){
Outer.Inner in=new Outer.Inner();
}
}
class Outer{
private static int a
static class Inner{
private int b;
public Inner(){
this.b=Outer.this.a
}
}
……
}

 

注意:当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。用接口不能
完全地实现多继承,用接口配合内部类才能实现真正的多继承。
例子:
对于两个类,拥有相同的方法:
class People
{
run();
}
interface Machine{
run();
}
此时有一个robot类:
class Robot extends People implement Machine.
此时run()不可直接实现。

interface Machine
{
void run();
}
class Person
{
void run(){System.out.println("run");}
}
class Robot extends Person
{
private class MachineHeart implements Machine
{
public void run(){System.out.println("heart run");}
}
public void run(){System.out.println("Robot run");}
Machine getMachine(){return new MachineHeart();}
}
class Test
{
public static void main(String[] args)
{
Robot robot=new Robot();
Machine m=robot.getMachine();
m.run();
robot.run();
}
}

 

分享到:
评论

相关推荐

    Java核心编程Java 课件ppt

    1. **Java简介**:Java是由Sun Microsystems开发的,后来被Oracle公司收购。它被设计成“一次编写,到处运行”,这意味着编写的代码可以在任何支持Java的平台上运行,无需重新编译。 2. **Java环境搭建**:学习如何...

    JAVA语言快速入门

    接下来,了解Java的基础语法是关键。这包括: 1. **基本数据类型**:如整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。 2. **变量**:声明和初始化变量,理解其作用...

    JAva资源网站大全

    这里不仅有Java基础知识的详细介绍,还有高级特性的深入解析,是Java开发者深入了解Java内部机制的首选之地。 ### 2. CN-Java 网址:http://www.cn-java.com/ CN-Java是一个专注于Java技术的中文社区,提供了丰富...

    2022年应届生java简历范文.docx

    * Java开发职业发展道路:了解Java开发职业的发展道路,如从初级开发到高级开发的发展过程。 * Java开发职业规划:了解Java开发职业的规划,如职业发展目标、职业发展方向等。 * Java开发职业技能:了解Java开发职业...

    Java2Pas(Java代码转换成Delphi代码)

    下面我们将详细探讨Java2Pas的工作原理、使用方法以及其在IT领域的应用。 首先,Java和Delphi是两种不同的编程语言,它们有着不同的语法结构和编程模型。Java是一种面向对象的语言,由Sun Microsystems(现已被...

    Java croe java 思想

    通过阅读《Java核心编程思想》,读者不仅能全面掌握Java语言,还能了解到许多最佳实践和设计模式,从而在实际项目开发中游刃有余。这本书的2010最新版可能还包含了Java新特性的介绍,比如Java 7和8的Lambda表达式、...

    java脚本 快速学习

    "java脚本 快速学习"的压缩包可能包含了各种教程、示例代码和练习,帮助初学者快速掌握Java中的脚本使用和JavaScript的基本语法。建议从以下几个方面入手: 1. 学习JSAPI的使用方法,了解ScriptEngine接口和...

    java 8快速入门

    Java 8快速入门教程为有一定Java基础的读者提供了一个指南,帮助他们快速了解并应用Java 8的新特性。无论你是想通过实践学习如何使用新的日期时间API,还是想掌握函数式编程的核心概念,本文都可以作为你的起点。...

    韩顺平30天学java

    《韩顺平30天学Java》是一门针对初学者设计的Java编程课程,旨在帮助学员在短短一个月的时间内掌握Java编程基础。该课程由知名IT教育专家韩顺平教授,以其独特的教学风格和深入浅出的讲解方式,使得复杂的编程概念变...

    JAVA API官方文档中文版

    对于初学者来说,这是了解Java API的起点。 2. **类和接口**:这是文档的主体部分,详细列出了Java平台提供的所有类和接口。每个条目都包含了类或接口的定义、构造方法、方法、常量等详细信息。例如,`java.lang....

    matomo-java-tracker:Matomo Tracking HTTP API的官方Java实现-源码

    了解Matomo Java Tracker有助于提升Java开发者在Web分析领域的专业技能,对于面试来说,可以展示对用户行为跟踪、数据分析以及如何将这些知识应用于实际项目的能力。以下是一些可能的面试问题: 1. 如何使用Matomo ...

    学习JAVA 快速学习JAVA

    1. **Java语言概述**:了解Java的历史、特性以及其在软件开发中的应用。Java是由Sun Microsystems的詹姆斯·高斯林(James Gosling)在1995年创建的,现在由Oracle公司维护。它的主要特点包括平台无关性(Write Once...

    Java连接SybaseSqlAnywhere数据库驱动以及Demo

    首先,我们需要了解Java数据库连接(JDBC)API,这是Java与数据库交互的标准接口。Java通过JDBC驱动程序与特定数据库通信。对于Sybase SQL Anywhere,我们需要的是对应的JDBC驱动,这里提供的`jconn3.jar`就是Sybase...

    java基础教程ppt

    1. **Java简介**:介绍Java的历史、特点以及其在软件开发中的应用领域。Java由Sun Microsystems的詹姆斯·高斯林(James Gosling)于1995年推出,其设计目标是“一次编写,到处运行”。 2. **环境搭建**:讲解如何...

    java实现视频压缩

    在IT行业中,视频压缩是一项重要的技术,特别是在大数据和互联网传输领域。Java作为一种广泛使用的编程语言,也提供了多种方法来处理视频压缩。...对于想要深入这一领域的开发者来说,了解并实践这些技术是十分必要的。

    Java游戏源码集合(十一款,含Android)

    Java游戏源码集合包含了十一款游戏的源代码,这些源码是学习和研究Java编程以及游戏开发的宝贵资源。值得注意的是,其中有三个游戏已经被移植到了Android平台,这意味着这些源码不仅可以帮助我们理解Java桌面游戏的...

    Java 11 压缩包版 -jdk11.0.12

    为了充分利用这些新功能,开发者需要了解Java 11的API文档,学习新的编程模式和最佳实践。 在实际开发中,Java 11可用于构建各种类型的应用,如Web应用、桌面应用、移动应用(Android)以及大数据处理等。使用IDE如...

    第一章认识Java.

    #### Java语言简介与发展历程 Java作为一种重要的编程语言,在计算机科学领域有着广泛的应用。由标题“第一章认识Java”以及描述中的“Java发展”,我们可以从中提炼出关于Java的基本信息及其发展历程的关键点。 #...

    java-Swing快速上手

    帮助你快速了解java-Swing,附带程序图例,关键代码

Global site tag (gtag.js) - Google Analytics