2017.4.6 笔记

encapsulation封装
inheritance继承
polymorphism多态

this();表明调用构造方法
this(3);调用构造方法的
this必须放在第一行,this调用普通方法可以不放第一行

Shitf+delete是直接删除,不走回收站
一个java文件,最多只能有一个类是public,也可以没有public类。最后java执行有main方法的类

引用注意事项:一个引用在同一时刻最多只能指向唯一一个对象,一个对象在同一时刻可以被多个引用所指向。
当其中的一个引用对对象的属性进行了修改,会反映到其他的引用当中。

//原生数据类型传过去的就是数字,传的不是引用
public class test{
	public static void main(String[] args) {
		C c =new C();
		int a=2;
		c.test(a);
		System.out.println(a);
	}
}
class C{
	public void test(int i){
		i++;
	}
}
打印结果是a=2,原生数据类型传过去就是传过去了,不是指针,没有指向

public static void main(String[] args) {
	Person2 person =new Person2();
	Person2 person2 =new Person2();
		person.name="zhangsan";
		person.age=20;
		person2.name="lisi";
		person2.age=30;
}

	public Person2(int age,String name){
		this.age=age;
		this.name=name;
	}

继承:java中是单继承的。意思是只有一个父类
java中实现
所有无显示继承的类的父类是object
调用子类的构造方法的时候,先调用父类的构造方法
子类对象创建的时候,先去调用父类不带参数的构造方法

例子:

public class April6th_继承测试 {

	public static void main(String[] args) {
		Animal a=new Animal(1);
		Dog2 d =new Dog2();

	}

}

class Animal{//父类,基类,超类
	public Animal(int i){

	}

}
class Dog2 extends Animal{
	public Dog2(){

	}
}
这样编译不过去
解决方法1:给父类加一个不带参数的构造方法
解决方法2:给子类的构造方法里加super(2);使用super显示的调用父类的构造方法
super();必须是构造器的第一行语句

重载本类之间,重写父类子类之间
重写:Override,重写也叫覆写

关于继承:
1.构造方法不能被继承
2.子类可以继承父类的方法和属性
3.创建子类对象的时候,java编译器会自动调用父类的不带参数的构造方法,如果父类没有不带参数的构造方法,有两种解决方法。第一,手动给父类提供一个无参数的构造方法。第二,使用super()方法来显示的调用父类的有参数或者没有参数的构造方法
4.父类有的,子类继承过来,父类没有的,子类可以添加,父类有的子类可以修改
5.final不能被继承
6.访问权限继承过来以后可以增大,不能减小。protected访问权限的方法,继承以后可以变成public访问权限
时间: 2024-10-11 21:24:23

2017.4.6 笔记的相关文章

cs231n spring 2017 lecture9 听课笔记

参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的shape:对于卷积层,输出的边长 =(输入的边长 - filter的边长)/ 步长 + 1,输出的通道数等于filter的数量.每个filter的通道数等于输入的通道数.卷积层的参数 = filter的长 * filter的宽 * 输入的通道数 * filter的数量.池化层没有需要学习的参数. 图中分成两个通

cs231n spring 2017 lecture7 听课笔记

1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很大的loss function,一个方向梯度变化明显,另一个方向梯度变化很缓慢,SGD在优化过程中会震荡着下降,导致优化很慢.深度学习的网络会有上百万甚至更多的参数需要优化,在这个上百万维的空间里,更容易出现各个维度梯度变化差别很大的问题. 2)陷落在局部最小点或者鞍点(saddle point).

2017.11.1笔记

11.1笔记1.运算①算术运算:- + * / % ++ --②赋值运算: *= += -= %= ③比较:== === != !== ④逻辑运算:&& || !⑤字符串链接:+ ⑥三目运算:条件?语句1:语句2:2.流程控制①if...else②switch语句③for循环④while循环⑤break语句:中断循环.continue语句:跳过当前循环,开始下一个循环.

cs231n spring 2017 lecture11 听课笔记

1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"."Transpose Convolution"(文献中也叫"Upconvolution"之类的其他名字). 这个问题的训练数据的获得非常昂贵,因为需要一个像素一个像素的贴标签. 2. Classification + Localizatoin 一般用同一个网络,一方面得出分类,一

2017/09/02笔记:ps

1.ctrl+alt +鼠标滚动可方法或缩小psd(另一种办法:ctrl同时按就"+"号键): 2切图:移动工具+ctr选中,选择图层,点击右键选择"转为智能对象",用选区工具选择切图区域,按ctrl+n新建页面确定,然后保存 :

2017.6.11笔记

1.  今天发现了一个错误:Could not execute JDBC batch update      最后发现原因是SQL语句长度大于1M,而我机器上的mysql是默认设置,也就是说mysql通讯的数据包大小设置是1M,这就造成sql语句执行失败.于是把mysql的配置文件(my.ini)中的max_allowed_packet = 6M变大,问题就解决了 2.

2017.4.8 笔记 final

两个数字对调 a=a+b b=a-b a=a-b static:可以修饰属性,方法(内部类也可以修饰) 静态的方法不能直接访问非静态的成员变量 静态的方法只能访问静态的成员变量,非静态的方法可以访问非静态成员变量与静态成员变量 静态代码块会在调用对象的构造方法之前调用.并且只调用一次 finl关键字:可以修饰类,属性,方法 final修饰的类不可以被继承 final修饰的变量不能被赋值 针对引用类型,final修饰的变量不能重新赋予一个新的对象.被final修饰的变量里面的属性可方法可以随便赋值

2017.4.9笔记 包 导入string object

static:  可以修饰属性:建议使用.变量名来调用  可以修饰方法:建议使用.变量名来调用 final:可以修饰类:表示这个类不能被继承  修饰方法:表示这个方法不能被重写  修饰属性:表示这个属性不能重新赋值 常量:使用final来修饰.通常我们还会加上static来修饰 通常常量的变量名会大写.如果有多个单词构成.每个单词的所有字母都大写.并且之间使用下划线 例子:public static final int AGE_OF_PERSON=10; 包:要求唯一.公司网址:www.taob

cs231n spring 2017 lecture8 听课笔记

1. CPU vs. GPU: CPU核心少(几个),更擅长串行任务.GPU有很多核心(几千个),每一个核都弱,有自己的内存(几个G),很适合并行任务.GPU最典型的应用是矩阵运算. GPU编程:1)CUDA,只能在英伟达:2)OpenCL类似CUDA,好处是可以跑在任何平台上,但相对慢一些.深度学习可以直接调用现成的库,不用自己写CUDA代码. 用cuDNN比不用快几倍. 深度学习的瓶颈可能不在GPU的运算,而在GPU和数据的通信上,解决办法是:1)把数据读入RAM:2)用SSD而不是HDD: