类和变量

:类是模子,确定对象将会拥有的特征(属性)和行为(方法)。

类的特点

1.类是对象的类型

2.具有相同属性和方法的一组对象的集合。

类的重要性:所有的java程序都是以类class为组织单元。

类的组成:属性(对象具有的各种特征,每个对象的每个属性都拥有特定值)和方法(对象执行的操作)。

定义类的步骤

1.定义类名(类名首字母大写)。

2.编写类的属性

3.编写类的方法

如:

//类名

public class Telphone {

  //属性

  float screen;

  float cpu;

  float ram;

  //方法

  void call(){

    System.out.println("tel可以打电话");

  }

  void sendMessage(){

    System.out.println("tel可以发短信");

  }

}

对象

1.创建对象

类名 对象名=new 类名()----构造方法

Telphone phone=new Telphone();

2.使用对象

引用对象的属性:对象名.属性:phone.screen=5;

引用对象的方法:对象名.方法名():phone.call()。

类和对象的关系

类是抽象的概念。仅仅是模板,比如说:“手机”;

对象时一个你可以看得到、摸得着的具体实体。

成员变量和局部变量

1.成员变量:在类中定义,用来描述对象将要有什么(本类的方法及其他类的方法)。

2.局部变量:在类的方法中定义,在方法中临时报讯数据(只能在当前的方法中使用)。

区别

1.作用域不同:

 局部变量的作用域仅限于定义它的方法。

 成员变量的作用域在整个类内部都是可见的。

2.初始值不同:

 Java会给成员变量一个初始值0,不会给局部变量赋予初始值。

3.在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量。

4.两类变量同名时,局部变量具有更高的优先级。

构造方法

1.使用new+构造方法创建一个新的对象

2.构造方法是定义在java类中的一个用来初始化对象的方法。构造方法与类同名且没有返回值。

3.在创建一个对象的时候实际上是执行的构造方法。

4.当没有指定构造方法时,系统会自动添加无参的构造方法

5.当有指定的构造方法,无论是有参还是无参的构造方法,都不会自动添加无参的构造方法。

6.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。

7.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值。

静态变量

Java中被static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。

使用static可以修饰变量、方法和代码块。

静态方法

使用静态方法的时候注意事项:

1.静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。

2.在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。

3.静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

静态初始化块

注意点:

静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

在程序运行的时候,静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。

时间: 2024-12-29 07:08:57

类和变量的相关文章

类成员变量初始化的问题

class window{ window(int maker){ System.out.println("window"+maker); } } class House{ window w1 ;//new window(1); window w3 = new window(3); House(){ System.out.print("House"); w3 = new window(33); } window w4 = new window(4); } class

Ubuntu Linux系统包含两类环境变量

Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 修改用户环境变量 用户环境变量通常被存储在下面的文件中: ~/.profile ~/.bash_profile 或者 ~./bash_login ~/.bashrc 上述文件在Ubuntu 10.0以前版本不推荐使用. 系统环境变量 系统环境变量一般保存在下面的文件中: /etc/environment /etc/profile /etc/bash.ba

PHP 类成员变量规范得一些理解。

今儿写代码是发现一个问题: PHP 类 成员变量不能接受方法得返回值 做以下测试: bin_2.php <?php /** * Created by PhpStorm. * User: Administrator * Date: 14-12-4 * Time: 下午9:45 */ header("Content-type:text/html;charset=utf-8"); require_once('bin_1.php'); require_once('bin_3.php');

Java学习(八):Java修饰符(类、变量、方法)

java中的修饰符分为类修饰符,变量修饰符,方法修饰符. 类修饰符: 1.public : public 即公共类. 2.package : 默认缺省为包修饰符,本包可见. 3.abstract :凡是用 abstract 修饰符修饰的类,被称为抽象类.含有一个或者多个抽象方法的类必须声明为抽象类,抽象类无法实例化. 4.final :当一个类不可能有子类时可用修饰符 final 把它说明为最终类. 变量修饰符: 1.public :用 public 修饰的变量可以被所有其它类所引用. 2.pr

python 面向对象(成员,静态,类)的(变量,方法)区别

静态方法是使用@staticmethod装饰的方法,并且参数表中不需要self或者cls,可以访问类成员变量 默认的方法是有self的,是成员方法,可以访问私有变量和方法(通过self.xxx),或者访问类方法或变量(通过类名.方法名或变量名) 类方法使用@classmethod来装饰,参数表中不需要self,但需要cls参数和当前类关联.不能访问成员变量和方法,但是可以通过cls.xxx访问类方法或类变量 一下是参考了网上的一些大神的总结: 静态成员方法: 不能访问类属性,实例属性,相当于一个

java异常处理:建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),

建立exception包,建立Bank类,类中有变量double  balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常. pa

MR-为什么MR类的变量喜欢定义在方法外面?

写了一些MR后发现不管是别人写的还是官方给的,比如map方法,变量都是定义在方法外面. 因为之前都是照猫画虎的写的,所以自己也一直这么写,可是为什么呢? 我试了试定义在方法里面,程序照样跑,试了几个程序都是这样. 可能是自己之前对MR的运行过程了解的不是很详细,看父类Mapper和Reducer才知道,程序分发到一个节点后运行mapper类时初始一次,之后N次的map执行都是调用的map方法,所以这样写应该只是一种较优的写法而已. 就像某一个车间一个任务交给只初始一个人(map类)来做,N个加工

php 类 成员变量 $this-&gt;name=&#39;abc&#39;

<?php class test { public function getName() { $this->name='abc'; echo $this->name; } }$a=new test();$a->getName(); 1.$this->name='abc'对应的BNF范式 expr_without_variable: variable '=' expr { zend_check_writable_variable(&$1); zend_do_assign

变量,final常量,类成员变量,static关键字,实例变量,静态变量,局部变量

1.常量:又称为final变量,在整个程序中仅能被赋值一次 final int num = 1215; num = 1216; // 错误,仅能赋值一次 2.类成员变量:不在方法中定义的变量即为成员变量,在方法体内定义的变量则为局部变量 成员变量含义:对象的属性 public class Book{ int id; string name; //两个成员变量 public String getName(){ int id = 0;  //局部变量,必须进行赋值或初始化 } } 3.static关

C++ 定义引用型类成员变量

作者 : 卿笃军 1)早在学习C语言的时候,我们就知道,在定义结构体的时候,不能在结构体中定义该结构体类型的变量: struct node { int a; // struct node b; //错 struct node *next; //对 }; 因为,该结构体还在定义中....不知道结构体里面具体有什么内容,所以无法定义对象b.但是可以定义指针*next. 2)现在,C++里面多出来了一个叫引用的东东(很强大): 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样.