Java学习笔记(二)——类和对象
【1】类是模子,确定对象将会拥有的特征(属性)和行为(方法)。
【2】类的特点:类是对象的类型;
具有相同属性和方法的一组对象的集合。
【3】属性:对象具有的各种特征(每个对象的每个属性都拥有特定值)。
【4】方法:对象执行的操作。
【5】定义一个类的操作:
a,定义类名 public class 类名{
b,编写类的属性 ~~ //定义属性部分
c,编写类的方法 ~~ //定义方法部分
}
【6】使用对象的步骤:
1,创建对象: 类名 对象名=new 类名();
2,使用对象: 引用对象的属性——对象名.属性();
引用对象的方法——对象名.方法名();
【7】成员变量和局部变量区别:
1,作用域不同,局部变量仅限于定义它的方法。
2,初始值不同,java会给成员变量赋初值,不会给局部变量赋初值。
3,同一方法中不允许同名局部变量,不同方法中可以用同名局部变量。
4,两类变量同名时,局部变量具有更高的优先级。
【8】构造方法:
1,使用new+构造方法 创建一个新的对象。
2,构造方法是定义在java类中的一个用来初始化对象的方法,构造方法与类同名且没有返回值。
构造方法语句格式:
public 构造方法名(可以指定参数){
//初始化代码
}
3,无参构造方法的使用:
main():
Telphone phone=new Telphone();
class Telphone:
public Telphone(){
代码
}
4,带参构造方法的使用:
main():
Telphone phone=new Telphone(4.0f);
class Telphone:
public Telphone(float newScreen){
代码
}
5,当没有指定构造方法时,系统会自动添加无参的构造方法。
6,当有指定的构造方法,无论是有参还是无参的构造方法,都不会自动添加无参的构造方法。
7,构造方法的重载。
8,构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值。
【9】static使用之静态变量:
java中被static修饰的成员称为静态成员或类成员。它被类的所有对象共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。
使用static可以修饰变量、方法和代码块。
例:
public class HelloWorld{
//static修饰的变量为静态变量,所有类的对象共享hobby
static String hobby=“eat”;
public static void main(String[ ] args){
//静态变量可以直接使用类名来访问,无需创建类的对象
System.out.println(HelloWorld.hobby);
//创建类的对象
HelloWorld hello=new HelloWorld();
//使用对象名来访问静态变量
System.out.println(hello.hobby);
//使用对象名的形式修改静态变量的值
hello.hobby=“drink”;
//再次使用类名访问静态变量,值已经被修改
System.out.println(hello.hobby);
}
}
【10】static使用之静态方法:
public class HelloWorld{
//使用static关键字声明静态方法
public static void print(){
System.out.println(“吃喝玩乐”);}
public static void main(String[ ] args){
//直接使用类名调用静态方法
HelloWorld.print();
//也可以使用通过对象名调用
HelloWorld demo=new HelloWorld();
demo.print();
}
}
****静态方法中可直接调用同类中的静态成员,但不能直接调用非静态成员。若要在静态方法中调用非静态成员,需创建类的对象通过对象访问。
****main方法是静态方法。
****普通成员方法中可直接访问同类的静态变量和非静态变量。
****静态方法中不能直接调用非静态方法,需通过对象访问。
【11】static使用之静态初始化块:
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
程序运行时,静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
Java学习笔记(二)——类和对象的更多相关文章
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- Java学习笔记之——类与对象
1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...
- 1.2(java学习笔记)类与对象
对象:是指具体的事物.比如学生 张三,老师 李四,代表一个单一的个体. 比如 学生 张三,这时张三就是具体的对象. 类:将对象中共有特征抽象出,可以理解为某种特性的集合. 世界上的事物可以分解成一 ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习第二篇:类,对象,成员属性,成员方法,构造方法,类变量,类方法
一.类的定义 一个全面的类定义是比较复杂的, 定义如下:
- Java学习笔记二十四:Java中的Object类
Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object ...
- Java学习笔记六 常用API对象二
1.基本数据类型对象包装类:见下图 public class Test { public static void main(String[] args){ Demo(); toStringDemo() ...
- Java学习笔记(2)--- 对象和类入门,java包,this 和 super区别
1.对象和类(Object and class): 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 面对对象编程是java非常重要的一部分,作者本身之前学过c ...
- Java 学习笔记 ------第五章 对象封装
本章学习目标: 了解封装的概念与实现 定义类.构造函数与方法 使用方法重载与不定长度自变量 了解static方法 一.Java封装概念 在面向对象程式设计方法中,封装(英语:Encapsulation ...
随机推荐
- Java高并发--消息队列
Java高并发--消息队列 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 举个例子:在购物商城下单后,希望购买者能收到短信或者邮件通知.有一种做法时在下单逻辑执行后调 ...
- 设计模式—装饰模式的C++实现
这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来. 1. 装饰模式简述 1.1 目的 动态地给一个对象添加一些额外的职 ...
- chartControl ViewType.Bar 用法测试
使用方法 一. Datatable : chartControl1.Series.Clear(); DataTable dt = new DataTable(); dt.Columns.Add(&qu ...
- js-string.js
//小结// string.charAt(pos) 返回string中pos所在位置的字符 var name = "Cynthia"; var i = name.charAt(0) ...
- 2017-11-09 中文代码示例之Vuejs入门教程(一)
"中文编程"知乎专栏原链 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示都在本地测试通过, 源码在这里. 下面 ...
- 照葫芦画瓢系列之Java --- eclipse下使用maven创建Struts 2项目
一.创建Maven项目 http://www.cnblogs.com/zhanqun/p/8425571.html 二.添加struts2核心依赖包以及其他依赖项 打开pom.xm配置界面 点击Add ...
- Linux技术图谱
- Keystone, Start, Failed to Load Bson
If you have installed the Keystone.js, and properly installed mongodb, but when tried to start the k ...
- 架构师成长之路-基于android fragment通信的面向对象的万能接口
前言 开发一个app时,常用Activity和Fragment,由于操作方便Fragment越来越受欢迎,这样就避免不了Activity和Fragment.Fragment和Fragment之间的通信 ...
- 这几天上海移动网络可以直接打开 Google Play 了
这几天上海移动网络可以直接打开 Google Play (谷歌应用商店)了. 速度还不错.基本无延迟. 想当初,为了防止国内应用市场里的木马或恶意软件,想从 Google Play 应用市场下载,折腾 ...