简述抽象和封装,对你学习Java有一些作用
作为一个Java 初学者,对Java的理解可能有些片面,甚至有些错误的理解,对于观看此处的您,希望您选择性观看!!!
天知道我为什么选择学习编程,我不爱编程,但是我既然学习了,还是会努力学习的,在此分享一些学习经验。
访问修饰符:
1.常用访问修饰符:
public 共有的
private 私有的
protect 保护
public 所有人能用,私有的自己能用,protect一个包里。
2.自动修正快捷键 ctrl+1(注:搜索MyEclipse快捷键大全,可以找到所有快捷键的)
真正的用法还要你自己去环境里体会。
3.面向对象,例如:
先建立一个学生1类:
package cn.curry.day01; public class Student1 {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) { if(age<=16){
this.age = age;
}
else {
this.age=age;
System.out.println("年龄不能大于16岁!");
} }
public void studentInfo()
{
if (this.age>16) {
return;
}
System.out.println("学生姓名为"+this.getName()+",年龄为"+this.getAge());
} }
在建立一个学生2类
package cn.curry.day01; public class Student2 {
private String name;
private int age;
private String sex;
private String work;
public Student2(String sex,String work)
{
this.setSex(sex);
this.setWork(work);
}
public Student2(String name,int age,String sex,String work)
{ this.setName(name);
this.setAge(age);
this.setSex(sex);
this.setWork(work);
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getWork() {
return work;
}
public void setWork(String work) {
this.work = work;
}
public void myself() {
System.out.println("我的名字是"+this.getName()+",年龄是"+this.getAge()+",性别是"+this.getSex() +",专业是"+this.getWork());
} }
这两类实际上都只是展示学生信息的,但是有的方式是不一样的,类是抽象的,一个类可以有n个对象,一个对象只能来自于一个类。
4.一次性生成所有字段的方法
光标停留在最后的字段后,然后alt+shift+s然后加r再alt+a,再alt+s
5.快速创建类的方法ctrl+n
格式化代码块ctrl+shift+f
6.构造方法
方法名与类名相同,没有返回值,连void都没有!
7.方法重载:在同一个类中,方法名相同,参数列表不同,与返回值和访问修饰符无关!、
8.static关键字
修饰类成员,所有类共享一个内容。
静态代码块
package cn.curry.day01; public class Dog {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public static Cat[] cats;
//静态代码块
static{
cats=new Cat[2];
System.out.println();
cats[0] =new Cat();
cats[0].setName("大黄");
cats[1]=new Cat();
cats[1].setName("小黄");
} }
9.this的用法
到此基本的东西都在了,日后扩展的东西请关注下篇博客!
简述抽象和封装,对你学习Java有一些作用的更多相关文章
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态 面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...
- java面向对象编程(五)--四大特征之抽象、封装
1.抽象 我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版).这种研究问题的方法称为抽象. 2.封装 封装就是把抽象出来的数据和对数据的操作封装在一起 ...
- 如何才能够系统地学习Java并发技术?
微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容. 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类.当然这些 ...
- [Java初探08]__简单学习Java类和对象
前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...
- 通过WebGoat学习java反序列化漏洞
首发于freebuff. WebGoat-Insecure Deserialization Insecure Deserialization 01 概念 本课程描述了什么是序列化,以及如何操纵它来执行 ...
- 学习Java Web开发
学习DreamWaveMX中文版的网页设计技术 HTML网页设计,这是最基本的.学习XML的一些基本知识.初步掌握一些JSCRIPT的应用. 学习JAVA语言. 这应该分成2次来进行: 第1次找一本国 ...
- 新手如何学习java(java学习建议路线图)
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...
- 假如时光倒流,我会这样学习Java
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...
- 假如时光倒流,我会这么学习Java
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...
随机推荐
- c# DES加密解密
class DESHelper { string _iv = "9AUP"; string _key = "9d"; /// <summary> / ...
- cookie、sessionStorage、localStorage
转自--http://www.cnblogs.com/fly_dragon/p/3946012.html cookie Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的 ...
- Css中的Position属性
Css中的Position属性 Css属性在线查询地址: http://www.css88.com/book/css/properties/index.htm CSS 中的 position 属性 在 ...
- 使用MicroService4Net 快速创建一个简单的微服务
“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...
- 4Struts2标签库----青软S2SH(笔记)
这里弄错了,这一堆属性是<datetimepicker>标签的,不是<doubleselect>标签的 输出错误信息这个不错,挺方便的. 这个树形标签,也用了好多网络,分析如下 ...
- Dijkstra算法
Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止. /*图的邻接矩阵表示*/typedef ...
- LYDSY模拟赛day1 Tourist Attractions
/* 假设路径是 a − b − c − d,考虑枚举中间这条边 b − c,计 算有多少可行的 a 和 d. 设 degx 表示点 x 的度数,那么边 b − c 对答案的贡献为 (degb − 1 ...
- 修复 ThinkPHP3.2.3 抛出异常模块的一个BUG,关闭字段缓存功能
使用 ThinkPHP3.2.3 遇到一个奇怪的问题,正式环境上报错,提示 “页面错误!请稍后再试~” 为了查看到底出啥错误,哪里出错,于是在入口文件中加了一段代码,开启调试: defined('AP ...
- bash 语法使用
1.定义函数时,不需要使用function作为函数的命名. 函数不需要形参. 函数名不能以数字作为开头 main() { in ) 1_start ;; ) 1_start 5_start ;; ) ...
- js制作烟花效果
<html> <head> <link type="text/css" rel="stylesheet" href="c ...