/*一般函数与构造函数的区别
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化
一般函数:对象创建时,需要函数功能时才调用 构造函数:一个对象对象创建时,只调用一次
一般函数:对象创建时,可以被调用很多次
*/ /*当成员变量和局部变量重名时。可以用this来区分
this:代表对象。 代表那个对象?当前对象
this就是所在函数所属对象的引用
简单的说:那个对象调用了this所在的函数,this就代表那个对象
this也可以用于在构造函数中调用其他构造函数
注意:只能定义在构造函数的第一行。因为初始化函数要先执行 public Demo(String name,int age)
{
this.name=name;
this.age=age;
}
public boolean bijiao(Demo p)
{
return this.age=p.age;
}
pyblic static void main(String[] args)
{
Demo p1=new Demo("超霸",18);
Demo p2=new Demo("暮雪",20);
p1.bijiao(p2);
} */ /*,String name ///成员变量,实例变量 static String name //静态变量,类变量 成员变量and静态变量的区别?
1,两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象被回收而释放
静态变量随着类的加载而存在,随着类的消失而消失
2,调用方式不同
成员变量只能被对象调用
静态变量可以被对象调用,还可以被类名调用
3,数据存储位置不同
成员变量数据存储在堆内存中,所以也叫对象的特有数据
静态变量存储在方法区的静态区,所以也叫对象的共享数据
*/ /*静态使用的注意事项
1,静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态)
2,静态方法中不可以使用this或者super关键字
3.主函数是静态的
静态在方法区的静态区,栈内
4.静态什么时候用?
1静态变量 2.静态方法
*/
1 /*extends继承 implements接口继承 public class 类名 implements 接口A,接口B{类体}
public interface 接口a extends 接口B{
常量定义 方法声明
}
class 子类 extends 父类 */
class Person
{
String name;
int age;
} class Student extends Person
{
//String name;
//int age;
void study()
{
System.out.println("good good student study");
}
} /*abstract 抽象类and接口
abstract class 类名{{类体}
abstract void show();
抽象类:笼统,模糊,看不清。不具体
特点
1.方法只有声明没有实现时。该方法就是抽象方法。需要被abstract
抽象方法必须定义在抽象类中
2.抽象类不可以被实例化,为什么?因为调用抽象方法没意义
3.抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化
否则,这个子类还是抽象类。 1.抽象类中有构造函数吗
有。用于给子类对象进行初始化
2.抽象类可以不定义抽象方法吗?
可以的。但是很少见,目的就是不让该类创建对象。AWT的适配器对象就是这种类
通过这个类中的方法有方法体。但是却没有内容
abstract class Demo{
void show1()
{}
void show2()
{}
}
3.抽象函数不可以和那些关键字共存?
************抽象方法要被覆盖
private 不行
static 不行 静态无法被覆盖 静态不需要对象。无意义
final 不行。。最终的,无法被覆盖
4.抽象类和一般类的区别
相同点:
抽象类和一般类都是用来描述事物的。都在内部定了成员
不同:
1.一般类有足够的信息描述事物
抽象类描述的信息有可能不足。
2.一般类中不能定义抽象方法。只能定义非抽象方法
抽象类中可定义抽象方法。同时科院定义非抽象方法
3.一般类可以被实例化
抽象类不可以被实例化
5.抽象类一定是个父类吗?
是的。因为需要子类覆盖其方法后才可以对子类实例化 定义接口关键字
interface Demo
{ 常量定义 方法声明
abstract void show1();
}
对于接口中的常见的成员,而且这些成员都有固定的修饰符
全局常量 public static final
抽象方法 public abstract
接口中的成员都是公共权限
interface 类名{
接口的定义
类与类之间是继承关系 类与接口直接是实现关系
接口不可以实例化
只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化
否则这个子类就是一个抽象类
} 抽象类和接口的异同点
不同点:1.抽象类需要被继承,而且只能单继承
接口需要被实现。而且是多实现。
2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
接口中只能定义抽象方法,必须由子类去实现
3.抽象类的继承是is a关系,在定义该体系的基本共性内容
接口的实现是like a关系,在定义体系额外功能。
*/ /*对象的多态性 class 动物
{}
class 猫 extends 动物
{}
class 狗 extends 动物
{}
猫 x= new 猫();
动物 X=new 猫(); 一个对象。2中形态
猫这类事物即具备猫的形态,又具备着动物的形态。这就是对象的多态性
简单说:就是一个对象对应着不同类型 多态在代码中的体现
父类或者接口的引用指向其子类的对象 */ /*内存的划分 1寄存器
2本地方法区
3方法区
4栈内存
存储的都是局部变量,局部变量一结束就消失
变量一旦离开作用域一旦结束。改变量就自动释放
生命周期短,更新快
5堆内存 存储的是数组和对象(其实数组就是对象),凡是new建立的都在堆中。
实体用来封装存储对象多个数据。
堆特点
1.每个实体都有首地址
2.堆内存中没一个变量都有默认初始化值,根据类型的不同而不同
3.垃圾回收机制 public class CalcDemo1 {
public static void main(String[] args) {
for(int x=0;x<5;x++)
{ }
System.out.println(x);
}
} */ /*设计模式
对问题行之有效的解决方式。其实它是一中思想
单例设计模式
解决的问题:就是可以保证一个类在内存中的对象唯一性
如:对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性
如何保证对象唯一性?
1.不允许其他程序用new创建该类对象。
2.在该类创建一个本类实例
3.对外提供一个方法让其他程序可以获取该对象
步骤
私有化该类构造函数
通过new在本类中创建一个本类对象
定义一个公有方法,讲创建的对象返回
*/ /*单列设计模式。保证对象唯一性 class SingleDemo
{
public static void main(String[] args)
{ Singel t1=Singel.getInstance();
Singel t2=Singel.getInstance();
t1.setNum(10);
t2.setNum(20);
System.out.println(t1.getNum());
System.out.println(t2.getNum());
}
}
对象唯一性实现方法
class Singel //饿汉式 类一加载。对象就已经存在了。。一般用这个
{
private int num;
private static Singel s=new Singel();
private Singel(){}
public static Singel getInstance()
{
return s;
}
public void setNum(int num)
{
this.num=num;
}
public int getNum()
{
return num;}
} class Singel2 //类加载进来,没有对象。只有调用get方法时,才会创建对象 懒汉式
{
private static Singel2 s=null;
private Singe12(){}
public static Singel2 getinfo()
{
if(s==null)
s=new Singel2();
return s;
} } */ /*Thread多线程 继承 重写run方法。代码放在run中 start启动线程并调用run方法 */

  

JAVA的一些笔记的更多相关文章

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  4. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  5. Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...

  6. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  7. [原创]java WEB学习笔记95:Hibernate 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. java effective 读书笔记

    java effective 读书笔记 []创建和销毁对象 静态工厂方法 就是“封装了底层 暴露出一个访问接口 ” 门面模式 多参数时 用构建器,就是用个内部类 再让内部类提供构造好的对象 枚举 si ...

  9. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  10. java JDK8 学习笔记——第16章 整合数据库

    第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...

随机推荐

  1. 【NOIP2012模拟8.7】JZOJ2020年8月8日提高组T1 奶牛编号

    [NOIP2012模拟8.7]JZOJ2020年8月8日提高组T1 奶牛编号 题目 作为一个神秘的电脑高手,Farmer John 用二进制数字标识他的奶牛. 然而,他有点迷信,标识奶牛用的二进制数字 ...

  2. PyQt(Python+Qt)学习随笔:QDial刻度盘部件功能简介

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 Designer中的Dial刻度盘输入部 ...

  3. 第15.24节 PyQt(Python+Qt)入门学习:Model/View架构中QTableView的作用及属性详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在Designer的部件栏Item Views中提供了PyQt和Qt已经实现好的table ...

  4. PyQt(Python+Qt)学习随笔:model/view架构中QTableView视图的数据无法显示问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用QTableView来显示如下数据时: 在model中插入数据是使用如下类似代码: for c ...

  5. PyQt(Python+Qt)学习随笔:QAbstractItemView的textElideMode属性

    老猿Python博文目录 老猿Python博客地址 一.概述 textElideMode属性用于控制省略文本中省略号"-"的位置,当项的内容过多视图无法显示完整时会显示部分内容,并 ...

  6. PyQt(Python+Qt)学习随笔:在父窗口中弹出子窗口无法显现的问题

    在学习和测试PyQt相关部件功能的时候,老猿经常是不同的窗口新建一个类,再新建一个Application来使用这个窗口类进行测试. 为了减少应用框架代码的重复开发,老猿决定采用主窗口叠加测试窗口的模式 ...

  7. 一、Nginx笔记--linux下载安装部署Nginx

    Nginx 到底是什么? Nginx  是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强 Nginx ⼜能做什么事情(应⽤场景) Http服务器(Web服务器) 性能⾮常 ...

  8. deepstrem编译缺少gst/gst.h解决方案

    Deepstream在编译程序的程序的显示缺少gst/gst.h 具体情况是Deepstream运行已编译好的deepstream-app可以正常运行,但对源码编译的时候出现以述情况,初步分析是我们安 ...

  9. Struts2 S2-061(CVE-2020-17530)漏洞复现

    0x00 漏洞简介 Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架.Apache Struts于2020年12月08日披露 S2-061 Struts 远程代码执 ...

  10. python(iJmeter-master)接口测试程序部署实践

    记录学习性能测试过程遇到的问题 环境 安装环境如下: Windows 10 1803 VMWare Workstation 15 Pro Centos Linux release 7.9.2009(c ...