`

this和static关键字,javadoc文档的产生

    博客分类:
  • j2se
 
阅读更多
----this和static关键字
public class Car
{
//属性,
static String brand="红旗";
String color;
double price;




public Car(String brand,String color,double price)
{
this(color,price);
this.brand=brand;

}

public Car(String color,double price)
{

this.color=color;
this.price=price;
}
public void show()
{
System.out.println("品牌:"+Car.brand+" 颜色:"+this.color+" 价格:"+this.price);
}


      
          public void show1()
{
System.out.println(颜色:"+this.color+" 价格:"+this.price);
}
        
public static void speed()
{
//this.name这是错的,静态的方法中不能调用非静态的东西,而非静态的方法里能调用静态的东西。
System.out.println(brand+"在加速,准备飞起来....");
}

public static void main(String[] args)
{

/*
Car qq = new Car("大众","白色",8000);//main方法也是静态方法,不能调用非静态的成员,但是这里不是调用非静态的成员,是创建了一个非静态的成员。
                                                     //比如在静态变量里放的brand属性,是在共享区创建了brand属性。归根结底,我是在共享区中的一个方法(main)中创建,共享区的这个方法中使用,我没出这个方法(main)以外的地方
qq.show();
qq.speed();

Car pst = new Car("黑色",40000);
pst.show();
                pst.show1();
pst.speed();
**/
          //这两个是类调用,把上面代码注销是为了验证类调用不用new对象,直接使用类名就行。类调用,调用的肯定是静态成员
Car.speed();//类调用静态方法
System.out.println(brand);//等价于System.out.println(Car.brand);类调用静态属性


}

}
-------------------------------------------
总结:
1.用static修饰的属性和方法,都会放在数据共享区,是在程序编译的时候进入数据共享区的。静态变量用类名.变量调用
2.当程序中属性用private修饰的时候,外界的类不能this.属性了,因为属性被那个类私有化了,但是那个类设置了公共的get、set
方法,因此外界类可以this.get方法
3.共享跟封装是对立的,因为封装是只能自己用。封装是把自己的属性和方法放在自己的对象里,用到this关键字(只是平时我们不写this关键字);
this关键字是指对一个数据的,因此this关键字不能放在共享区
4.public Car(String brand,String color,double price)的含义:
   1.后面的参数实际上就是在调用带有三个参数的构造方法。
   2. 写String brand是在数据共享区开辟了空间(因为他有static),写String color和double price是在堆内存中开辟了空间
   3.其实写String color和double price就是在写this.color=color(set方法),这里用到了this关键字;而写static String brand其实是在写Car.brand(类.属性),这里是因为brand用到了static关键字。因为这两个关键字的用法不同,因此写String brand时候在数据共享区开辟了空间,写String color,double price的时候在堆内存开辟了空间。
5.public static void main(String[] args)
{

//1.这句话打印出:大众,白色,8000
      Car qq1 = new Car("大众","白色",8000);
//2. 打印出大众,白色,40000,因为brand被共享了,第一次在上面用到了,所以第一次之后brand里面的值为大众,第二次不用在写 
              Car qq2 = new Car("白色",40000);
//3.这时候打印宝马,红色,66666,因为此时数据共享区的值(大众)被后面的新值覆盖了。
              Car qq3= new Car("宝马","红色",66666);
//4.打印宝马,白色,666666。因为这里的brand用的是数据共享区后来的新值
              Car qq4 = new Car("白色",40000);                                                
}
6.生产doc文档:cmd-->javadoc 类名.java
分享到:
评论

相关推荐

    java关键字、标识符、注释

    - `public`, `private`, `protected`, `static`, `final`, `abstract`, `synchronized`, `volatile`, `transient`:这些关键字用于定义访问级别和修饰符。 - `try`, `catch`, `finally`, `throw`, `throws`:这些...

    黑马程序员 - Java基础教学 - 06 - 面向对象(2) - 关于静态static的那些事.doc

    Java中的静态(static)关键字是面向对象编程中的一个重要概念,它允许我们定义类级别的变量和方法,而不是局限于实例级别的。本篇文章将详细讲解静态static的关键点,并结合Java的基础教学进行阐述。 1. 静态...

    java 变量 关键字

    Java 中的关键字包括 abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、...

    Java基础入门教程 含习题 第03章 面向对象(上)(共57页).pptx

    总的来说,这个Java基础入门教程涵盖了面向对象编程的基本概念,包括类、对象、构造方法、`this`关键字、垃圾回收、`static`关键字、内部类以及如何使用Java的帮助文档。通过深入学习这些内容,初学者能够逐步掌握...

    Java知识总结(五)--封装.doc

    ### Java知识总结(五)--封装 #### 一、封装概念 ...此外,`this`和`static`关键字也是Java编程中不可或缺的部分,它们各自具有独特的特性和应用场景,熟练掌握这些基础知识对于编写高质量的Java代码至关重要。

    JAVA面试题库.docx

    static关键字用于声明类级别的变量和方法,这些变量和方法属于类本身,而不是类的实例。静态成员不占用每个对象的内存空间,可以直接通过类名访问。static的特性使得它可以用来创建单例模式、静态工厂方法等。 ...

    计算机科学与计算java核心编程笔记

    * javadoc 文档注释:用于生成文档注释。 六、Java常用转义字符 * \ddd—>1-3 位八进制数所表示的字符; * \uxxxx—>1-4 位十六制数所表示的字符; * ‘ —>单引号字符; * “ —>双引号字符 ; * \\ —>双斜杠...

    Java基础-第二单元习题+答案.docx

    题目(4)中的static关键字使得方法可以在不创建类实例的情况下被调用。 7. **成员变量和局部变量**:题目(7)讨论了如何在局部作用域中引用成员变量,需要通过this关键字来访问。 8. **条件运算符(三元运算符)...

    JAVA语言程序设计复习题.doc

    - 产生Java文档的命令是`javadoc`,用于生成API文档。 - 查询Java类型是否是Serializable类型的命令是`serialver`,检查类的序列化版本ID。 - 产生Java平安策略文件的命令是`policytool`,用于管理Java安全策略。...

    java学习方向

    - **类的设计**:包含构造函数、this关键字、static关键字、内部类,以及垃圾回收机制。 - **多态**:深入理解子类和父类之间的转换,方法的重写和重载,final关键字,抽象类和接口的使用。 3. **异常处理**: -...

    Java考试重点.pdf

    4. **Java开发工具包(JDK)**:包含编译器javac.exe、解释器java.exe,以及Javadoc、jar等工具,用于文档生成和打包。 5. **Java语言基础**:与C语言相似,但更加强调面向对象。标识符定义遵循特定规则,Java的...

    面向对象经典讲解 有助于更进一步理解java对象

    **static关键字**: - `static`修饰的成员属于类,不依赖于类的实例。这意味着静态变量和静态方法是所有对象共享的,可以直接通过类名访问。 **内部类**: - 内部类是定义在一个类内部的类,可以是成员内部类、局部...

    java语言与面向对象程序设计题库选择题.pdf

    16. static关键字: - A、C、D可以被static修饰,局部变量不能。 17. 内部类: - A、B、C正确,D错误(静态内部类可以定义静态和非静态成员,但非静态内部类不能定义静态成员)。 18. 单例设计模式: - A、B、C...

    计科2022-java复习

    例如,`// This is a single line comment`是合法的单行注释,`/* This is a multi-line comment */`是多行注释,而`/** This is a Javadoc comment. */`是文件注释。 1.5 **编译与运行** 当编译Java源代码文件时...

    Java基础核心知识点总结(79页).pdf

    JDK是用于开发和编译Java程序的工具集,包含JRE以及开发工具如javac编译器和javadoc文档生成工具。JRE则是运行Java应用程序所必需的环境,包含了Java虚拟机(JVM)和Java核心类库。 Java的基本语法包括数据类型,如...

    《Java程序设计》教学大纲.doc

    - 了解反编译工具(如javap)和文档生成器(javadoc),这些工具在开发过程中非常实用。 - 理解jar文件,它是Java应用程序的打包形式。 5. **继承与接口**: - 掌握子类和父类的概念,理解继承机制。 - 学习...

    电大Java语言与WWW技术形成性考核判断题.pdf

    3. Java类和对象:包括类的定义、对象的创建和使用,以及this关键字来引用当前对象的实例变量。 4. 数组的定义和使用:包括一维和二维数组的定义方式,以及如何访问数组元素。 5. Java的包结构和导入语句(import...

Global site tag (gtag.js) - Google Analytics