匿名对象

* 节省代码,并且很多情况下是针对某个方法只需要调用一次的情况下。

* 匿名对象可以调用方法,也可以给成员变量赋值。 同时也可以作为方法的参数进行传递。

public class AnonDemo{public static void main(String[] args){System.out.println(new Student().name);System.out.println(new Student().sex);System.out.println(new Student().age);}}
class Student{String name="poppy";String sex="女";int age=20;
}

封装

* 概念: 隐藏对象的属性和细节,仅对外提供公共的方法进行访问。

* private

*  当类的成员变量使用private 修饰符修饰,那么就不可以直接访问到该成员变量.

*  当使用private 修饰的成员变量或者成员方法,仅能在本类中使用

*  private 对于main 方法的修饰,也是可以产生作用的.

public class PrivateDemo{public static void main(String[] args){Student student=new Student();//student.name="弋痕夕";//如果在外部访问private则会出现name可以在Student中访问privatestudent.subject();}}class Student{private String name;private String sex;private int age;void subject(){name="山鬼谣";//private在本类中没有限制System.out.println(name+"选择的课是java");        }}

student.name(错误)

name="山鬼谣";

* javaBean:

它的所有成员变量都使用private 进行修饰,并且对外提供可访问的设置值和获取值的set,get      方法。不同的应用场景,可能命名不同,数据库的应用中称为POJO类.

public class JavaBeanDemo{public static void main(String[] args){Student student=new Student();student.setName("山鬼谣");student.setSex("男");student.setAge(24);student.subject();}}class Student{private String name;private String sex;private int age;void setName(String nameParm){name=nameParm;}//JavaBean类String getName(){return name;}void setSex(String sexParm){sex=sexParm;}String getSex(){return sex;}void setAge(int ageParm){age=ageParm;}int getAge(){return age;}void subject(){System.out.println(name+":"+sex+","+age+"岁");        System.out.println("选择的课是java");}}

优先原则: 对于一个类的成员方法来说,如果传递的形参的变量名称和类的成员变量名称相同,jvm在处        理的时候优先当做方法的形参来处理。

this 关键字

代表了当前对象的引用(可以理解为,当前谁来调用,那么方法中的this 就代表谁)。

对于成员变量可以区分出来的场景,this 可加也可以不加,实际效果相同。但是对于实现         javaBean/POJO 来说,我们建议都加上在setXXX,getXXX方法中.

例:

void setName(String name){

this.name=name;

}

String getName(){

return this.name;

}

* 初始化类成员变量的方式

* 在定义成员变量的同时进行赋值.

* 提供外界可访问到的方法,在方法中进行赋值.

* 通过构造方法进行赋值.

public class VariableDemo{public static void main(String[] args){Student student=new Student();student.write();Student student1=new Student("山鬼谣");//构造方法赋值student1.write();Student student2=new Student();student2.setName("天净沙");//在方法中进行赋值student2.write();}}
class Student{String name="弋痕夕";//定义成员变量时同时赋值Student(){}Student(String name){this.name=name;}void setName(String name){this.name=name;}String getName(){return this.name;}void write(){System.out.println("姓名:"+name);} }

static

* 随着类加载而加载(静态方法区中来保存静态成员变量)

* 优先于对象创建

* 被类的所有对象共享(静态的成员变量会保存在该class的静态方法区中,所以每个对象看到的      都是同一份.)

* 可以通过类名来访问也可以通过对象名来访问(一般通过类名来访问)。

* 静态的成员,一般称为类相关的成员。

* static 修饰符既可以修饰成员变量,也可以修饰成员方法。 且修饰之后,就可以通过类名来直      接访问到。

* this变量在静态方法中不可以使用

* 静态方法中只能访问静态成员变量和静态方法;非静态方法既可以访问静态成员和方法也可以访      问非静态成员和方法。

public class StaticDemo{public static void main(String[] args){Person person=new Person();person.setName("山鬼谣");Person.skill();//通过类名来访问
}
}
class Person{static String name;static String sex;void setName(String nameParm){name=nameParm;     }String getName(){return name;}static void skill(){System.out.println(name+"的技能是:“绝气逆空”");}}

非静态虽然可以访问静态的方法,但是不建议这样做。

* main方法.

修饰符 返回类型  方法名 (参数列表){

}

public static void main(String[] args){

}

* public: 最大的一个访问权限,使得jvm能够成功调用

* static: 类相关的,与对象无关. A.main([]);

public class A{

main(){

System.("");

}

}

转载于:https://blog.51cto.com/13355940/1974224

Java学习lesson 06相关推荐

  1. Java学习lesson 14

    *数据结构 *栈结构(先进后出,后进先出) 特点:进栈的方式叫压栈 出栈的方式叫弹栈 *队列(先进先出) *数组(查询快,增删慢) *链表结构 有很多链子将多个节点连接起来 每一个节点(数据):数据域 ...

  2. Java学习lesson 02

    常量 什么是常量 * 在程序执行的过程中其值不可以发生改变   Java中常量的分类 * 字面值常量 * 字符串常量                           * 整数常量         ...

  3. Java学习lesson 15

    *Set集合 一个包含重复的元素collection,并且最多包含一个null元素,此类实现Set接口,有哈希表支持,Java中的预定义类型如String.Integer都可以在集合内使用:但对于自己 ...

  4. Java学习lesson 10

    API(应用程序编程接口) *  public final Class getClass();//返回Object的运行类(java的反射机制学) *  Class类中有一个类 *public Str ...

  5. Java学习lesson 09

    与main方法在同一个类中的方法不是静态类如何调用? * ArrayDemo类的对象使用对象调用功能 ArrayDemo ad=new ArrayDemo(): 但由于ArrayDemo为测试类一般要 ...

  6. Java学习笔记 06 数字格式化及数学运算

    一.数字格式化 DecimalFormat类 >>DecimalFormat是NumberFormat的子类,用于格式化十进制数,可以将一些数字格式化为整数.浮点数.百分数等.通过使用该类 ...

  7. [Java]学习Java(1)运算符语句类

    [Java]学习Java(1)运算符&语句&类 一.运算符&语句 1.相等运算符"==" (1)基本类型时值相等就为true (2)对象比较时比较其引用地址 ...

  8. Java学习笔记(十)--控制台输入输出

    输入输出 一.控制台输入 在程序运行中要获取用户的输入数据来控制程序,我们要使用到 java.util 包中的 Scanner 类.当然 Java 中还可以使用其他的输入方式,但这里主要讲解 Scan ...

  9. JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. 造车新势力“围猎”秋招,应届生如何拿下高薪 offer ?
  2. 云极知客开放平台接口调用方法(C#)
  3. 15.QT布局管理及示例
  4. springboot学习笔记(一)
  5. 【机器学习基础】用Python构建和可视化决策树
  6. SQLServer下 存储过程内 包含事务 及 返回处理是否成功
  7. Struts2前身Struts1是如何转起来的呢
  8. Vue-router之集成
  9. 表单html遇到的问题及处理,HTML表单常见问题
  10. xen html插件天气不会刷新,天气通刷新不了怎么办 刷新不了解决方法
  11. VINS-Mono 代码解析——视觉跟踪 feature_trackers
  12. 数组对象查找某一个对象
  13. 基于sklearn的贝叶斯文本分类
  14. shell的正向和反向
  15. PHP 简单日历功能的实现
  16. 佳明手表APP开发系列01——简单汉化英文版
  17. 六、总线(一)总线概述
  18. MYSQL数据库备份全攻略
  19. 拜读《高质量C/C++编程》笔记
  20. python 相对路径和绝对路径的区别

热门文章

  1. ipad文献管理软件_ipad和电脑双向同步文献的奥秘
  2. 理解WPF中的视觉树和逻辑树
  3. oracle t7 1,Oracle SPARC t7-1服务器介绍及配置参数
  4. 案例实践:用SPSS做K均值聚类分析
  5. 灰度图片及彩色图片像素点统计及显示
  6. 轻轻松松背单词软件测试,Englishfield词汇记忆与测试
  7. k8s关于Orphaned pod <pod_id> found,volume paths are still present on disk 的解决方法
  8. 四十五、Kafka生产者(Producer)API介绍
  9. 阿里P5的测试开发工程师,都有哪些要求?
  10. PyCharm2017破解教程